免费爱碰视频在线观看,九九精品国产屋,欧美亚洲尤物久久精品,1024在线观看视频亚洲

      超市訂單管理系統(tǒng)

      GitHub: github.com/hsowan/soms

      SOMS

      Supermarket Orders Management System 超市訂單管理系統(tǒng)

      Day 01

      使用MyBatis

      MyBatis 官方文檔

      Refer: www.mybatis.org/mybatis-3/z…

      類型別名

      類型別名是你的好幫手。使用它們,你就可以不用輸入類的完全限定名稱了。比如:

      select id, username, hashedPassword from some_table where id = #{id}復(fù)制代碼

      log4j2

      Refer: logging.apache.org/log4j/2.x/m…

      Eclipse for Mac 快捷鍵

      刪除一行

      Command + D

      Refer: www.cnblogs.com/TankXiao/p/…

      格式化代碼

      Shift + Command + F

      Day 02

      MyBatis 核心配置

      mybatis-config.xml 配置

      • configuration(配置)
        • properties(屬性)
        • settings(設(shè)置)
        • typeAliases(類型別名)
        • typeHandlers(類型處理器)
        • objectFactory(對象工廠)
        • plugins(插件
        • environments(環(huán)境配置) environment(環(huán)境變量) transactionManager(事務(wù)管理器) dataSource(數(shù)據(jù)源)
        • databaseIdProvider(數(shù)據(jù)庫廠商標(biāo)識)
        • mappers(映射器)

      Refer: www.mybatis.org/mybatis-3/z…

      mapper.xml 配置

      • insert – 映射插入語句
      • update – 映射更新語句
      • delete – 映射刪除語句
      • select – 映射查詢語句
      • resultMap – 是最復(fù)雜也是最強大的元素,用來描述如何從數(shù)據(jù)庫結(jié)果集中來加載對象。
      • sql – 可被其他語句引用的可重用語句塊。
      • cache – 對給定命名空間的緩存配置。
      • cache-ref – 對其他命名空間緩存配置的引用。

      Refer: www.mybatis.org/mybatis-3/z…

      使用單例模式創(chuàng)建SqlSessionFactory

      /** * 主配置文件路徑 */private static String config = “mybatis-config.xml”;private static SqlSessionFactory sqlSessionFactory;/** * 使用單例模式獲取SqlSessionFactory * @return */private static synchronized SqlSessionFactory getSqlSessionFactory() {if (sqlSessionFactory == null) {try {// 創(chuàng)建輸入流讀取配置文件InputStream is = Resources.getResourceAsStream(config);// 創(chuàng)建SQLSession工廠sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return sqlSessionFactory;}復(fù)制代碼

      Maven

      Using JUnit

      添加下面的插件到pom.xml中:

      org.apache.maven.pluginsmaven-surefire-plugin3.0.0-M3復(fù)制代碼

      執(zhí)行單元測試: mvn test

      Refer: maven.apache.org/surefire/ma…

      Skipping Tests

      mvn install -DskipTests

      Refer: maven.apache.org/surefire/ma…

      JSP 九大內(nèi)置對象+四大域?qū)ο?/h1>

      Refer: my.oschina.net/u/3805464/b…

      Java 八大基本類型

      byte/8char/16short/16int/32float/32long/64double/64boolean/~復(fù)制代碼

      Day 03

      動態(tài)SQL

      官方文檔

      • if
      • choose (when, otherwise)
      • trim (where, set)
      • foreach
      • bind

      www.mybatis.org/mybatis-3/z…

      if

      改寫UserMapper.xml:

      select id, username, passwordfrom userwhere username like #{username}limit #{start}, #{count}復(fù)制代碼

      改寫單元測試 testListByUsername(使用map進行傳參):

      Map params = new HashMap();params.put(“username”, “%user%”);List users = session.selectList(“com.ncucoder.mapper.UserMapper.listByUsername”, params);復(fù)制代碼

      執(zhí)行結(jié)果:

      ==> Preparing: select id, username, password from user where username like ? ==> Parameters: %user%(String)復(fù)制代碼

      添加單元測試 testListByUsernameUsingLimit:

      Map params = new HashMap();params.put(“username”, “%user%”);params.put(“start”, 0);params.put(“count”, 2);List users = session.selectList(“com.ncucoder.mapper.UserMapper.listByUsername”, params);復(fù)制代碼

      執(zhí)行結(jié)果:

      ==> Preparing: select id, username, password from user where username like ? limit ?, ? ==> Parameters: %user%(String), 0(Integer), 2(Integer)復(fù)制代碼

      bind 模糊查詢

      修改UserMapper.xml:

      select id, username, passwordfrom userwhere username like #{username}limit #{start}, #{count}復(fù)制代碼

      修改單元測試 testListByUsername():

      Map params = new HashMap();// params.put(“username”, “%user%”);params.put(“username”, “user”);List users = session.selectList(“com.ncucoder.mapper.UserMapper.listByUsername”, params);復(fù)制代碼

      執(zhí)行結(jié)果:

      ==> Preparing: select id, username, password from user where username like ? ==> Parameters: %user%(String)復(fù)制代碼

      SQL優(yōu)化 in

      查詢user表中id小于5的記錄

      使用in的查詢執(zhí)行計劃(QEP):

      mysql> explain select id, username, password from user where id in (1, 2, 3, 4, 5);+—-+————-+——-+————+——+—————+——+———+——+——+———-+————-+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+—-+————-+——-+————+——+—————+——+———+——+——+———-+————-+| 1 | SIMPLE | user | NULL | ALL | PRIMARY | NULL | NULL | NULL | 10 | 50.00 | Using where |+—-+————-+——-+————+——+—————+——+———+——+——+———-+————-+1 row in set, 1 warning (0.00 sec)復(fù)制代碼

      使用<的QEP:

      mysql> explain select id, username, password from user where id < 6;+—-+————-+——-+————+——-+—————+———+———+——+——+———-+————-+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+—-+————-+——-+————+——-+—————+———+———+——+——+———-+————-+| 1 | SIMPLE | user | NULL | range | PRIMARY | PRIMARY | 4 | NULL | 5 | 100.00 | Using where |+—-+————-+——-+————+——-+—————+———+———+——+——+———-+————-+1 row in set, 1 warning (0.00 sec)復(fù)制代碼

      使用between的QEP:

      mysql> explain select id, username, password from user where id between 1 and 5;+—-+————-+——-+————+——-+—————+———+———+——+——+———-+————-+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+—-+————-+——-+————+——-+—————+———+———+——+——+———-+————-+| 1 | SIMPLE | user | NULL | range | PRIMARY | PRIMARY | 4 | NULL | 5 | 100.00 | Using where |+—-+————-+——-+————+——-+—————+———+———+——+——+———-+————-+1 row in set, 1 warning (0.00 sec)復(fù)制代碼

      • type表示對表所使用的訪問方式(最優(yōu)到最差: NULL > system > const > eq_ref > ref > range > index > All)
      • key表示MySQL Query Optimizer從possible_keys中所選擇使用的索引
      • rows表示MySQL Query Optimizer通過系統(tǒng)收集到的統(tǒng)計信息估算出來的結(jié)果集記錄條數(shù), 簡單理解為查詢需要掃描的記錄數(shù)

      分析: 使用in作為查詢條件時沒有使用索引而進行了全表掃描(ALL), 使用<和between作為查詢條件時使用到主鍵索引以及索引范圍掃描, 所以三者比較in的執(zhí)行效率是最低的

      MySQL 批量插入測試數(shù)據(jù)

      — 獲取指定長度的隨機字符串drop function if exists `rand_string`;create function `rand_string`(n int) returns varchar(255) charset ‘utf8’begin DECLARE chars_str varchar(100) DEFAULT ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789’; DECLARE return_str varchar(255) DEFAULT ”; DECLARE i INT DEFAULT 0; WHILE i < n DO SET return_str = concat(return_str, substring(chars_str, FLOOR(1 + RAND() * 62), 1)); SET i = i + 1; END WHILE; RETURN return_str;end;– 插入指定數(shù)量的用戶drop procedure if exists `create_users`;create procedure `create_users`(n int)begin declare i int default 0; while (i < n) do insert into user(username, password) values (rand_string(10), rand_string(32)); set i = i + 1; end while;end;– 調(diào)用存儲過程call create_users(1000);復(fù)制代碼

      Day 04

      MyBatis Generator

      官方文檔

      www.mybatis.org/generator/c…

      問題:

      • 改用MySQL8時, 與其他數(shù)據(jù)庫(mysql庫)表名相同時出現(xiàn)錯誤

      添加依賴和插件

      mybatis-generator-core:

      org.mybatis.generator mybatis-generator-core ${mybatis-generator.version}復(fù)制代碼

      mybatis-generator-maven-plugin:

      org.mybatis.generator mybatis-generator-maven-plugin ${mybatis-generator.version} true true 復(fù)制代碼

      添加配置文件

      • generatorConfig.xml

      生成對應(yīng)的映射文件、實體類和接口類

      cd ${your_project}mvn mybatis-generator:generator復(fù)制代碼

      Refer:

      • www.cnblogs.com/hhhshct/p/9…
      • blog.csdn.net/liyonghong3…

      集成SpringMVC

      添加依賴

      org.springframework spring-core ${spring.version} org.springframework spring-web ${spring.version} org.springframework spring-webmvc ${spring.version} org.springframework spring-beans ${spring.version} org.springframework spring-context ${spring.version} org.springframework spring-test ${spring.version} test org.springframework spring-jdbc ${spring.version} org.springframework spring-tx ${spring.version} org.mybatis mybatis-spring ${mybatis-spring.version} com.alibaba druid ${druid.version}復(fù)制代碼

      修改web.xml配置文件

      soms-dispatcher org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring/spring-*.xml 1 true soms-dispatcher / encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /*復(fù)制代碼

      添加Spring的配置文件

      • spring-web.xml
      • spring-dao.xml
      • spring-service.xml

      使用MySQL8

      修改依賴版本(pom.xml):

      8.0.16復(fù)制代碼

      修改驅(qū)動路徑(db.properties):

      driver=com.mysql.cj.jdbc.Driver復(fù)制代碼

      Day 05

      JWT + SpringSecurity

      github.com/hsowan/jwt-…

      作者:K8sCat鏈接:https://juejin.cn/post/7056040075947147295

      鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
      用戶投稿
      上一篇 2022年6月30日 20:06
      下一篇 2022年6月30日 20:06

      相關(guān)推薦

      • 淘寶工廠店的東西是正品嗎?淘寶工廠店為什么便宜

        淘工廠直營店其實就是鏈接淘寶賣家與工廠的平臺,直接對接工廠型的商家,店鋪里的東西大部分價格都會很低。那么,淘工廠直營店靠譜嗎? 淘工廠直營店是靠譜的,但售后問題可能得不到很好的保障…

        2022年11月27日
      • 男子賭球輸千萬跳樓?當(dāng)?shù)鼗貞?yīng)!

        據(jù)浙江省杭州市蕭山區(qū)人民政府新聞辦公室官方微博消息,近日,關(guān)于一則“男子賭球后跳樓”的信息在網(wǎng)上流傳,經(jīng)官方核實, 該信息不實。11月22日20時許,蕭山警方接群眾報警,北干街道某…

        2022年11月26日
      • 《云頂之弈》s8什么時候上線國服?s8國服上線時間介紹

        云頂之弈的s8版本為怪物來襲版本,現(xiàn)已正式在美測服上線了。很多小伙伴可能還不清楚該版本什么時候在國服上線吧,今天小編給大家?guī)碓祈斨膕8國服上線時間介紹,快來看一下吧。 s8國服…

        2022年11月25日
      • 數(shù)字看亮點!前十月我國造船三大指標(biāo)繼續(xù)全球領(lǐng)先

        央視網(wǎng)消息:工業(yè)和信息化部最新數(shù)據(jù)顯示,今年1—10月,我國造船三大指標(biāo)繼續(xù)保持全球領(lǐng)先。隨著生產(chǎn)節(jié)奏加快,船企產(chǎn)業(yè)集中度進一步提升。 2022年1—10月,全國造船完工量、新接訂…

        2022年11月25日
      • 前十個月我國造船業(yè)三大指標(biāo)穩(wěn)居世界第一

        今年1—10月,我國造船業(yè)在國際市場的份額繼續(xù)穩(wěn)居世界第一。一批高技術(shù)高附加值船舶實現(xiàn)了批量接單、批量生產(chǎn)。 近日,中國船舶上海船舶研究設(shè)計院又新接了韓國船東三艘汽車運輸船的設(shè)計追…

        2022年11月25日
      • 客服的崗位職責(zé)怎么寫(客服工作內(nèi)容及職責(zé))

        各位小伙伴們大家周一好,又到了每周一給大家分享干貨內(nèi)容的時候啦~ 本期來跟大家分享一下客服工作管理流程以及客服崗位里面的每項職能崗位的核心細則,也是干貨滿滿推薦收藏~ 一.補償流程…

        2022年11月25日
      • 商家收到貨才會退款嗎(淘寶代付款退款錢到哪里了)

        在淘寶上有一些人下單購買商品的時候是通過代付的形式來支付的,一般情況下是家長幫助家里的小孩或者長輩進行代付,而代付訂單和普通的訂單沒有太大的區(qū)別,不過如果發(fā)生退款的話,錢是退到哪里…

        2022年11月25日
      • 早報:曼聯(lián)宣布C羅離隊!

        【曼聯(lián)宣布C羅離隊】 足壇重磅!曼聯(lián)官方:C羅離隊達成一致,即刻生效??! 曼聯(lián)官方發(fā)布重磅公告,C羅將離開曼聯(lián),立即生效。 【C羅發(fā)聲】 C羅談離隊:我愛曼聯(lián),我愛紅魔球迷,這永遠…

        2022年11月25日
      • Xbox Series X國行開啟新一輪抽簽 限量110臺

        微軟官方商城再次開啟 Xbox Series X 國行抽簽購買活動,限量 110 臺,感興趣的玩家可前往微軟官方微信小程序參與活動。 我們了解到,微軟 Xbox Series X …

        2022年11月24日
      • 世界杯在哪猜球贏錢(世界杯猜球獲獎)

        四年一度的世界杯終于來了,本屆世界杯將歷時28天,比賽期間,大家還可以參與冠軍、亞軍、季軍的競猜,這也是很多彩民們非常感興趣的。不過現(xiàn)在許多網(wǎng)友還不是很了解世界杯在哪可以猜球贏錢?…

        2022年11月24日

      聯(lián)系我們

      聯(lián)系郵箱:admin#wlmqw.com
      工作時間:周一至周五,10:30-18:30,節(jié)假日休息