精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SpringBoot整合MyBatis完全使用注解方式定義Mapper

開發 前端
ImportBeanDefinitionRegistrar類的主要功能就是用來動態注冊Bean的。很多的第三方庫都是通過實現該接口來動態注冊Bean,比如EnableFeignClients用來掃描指定包下所有類上帶有@FeignClient注解的類。

[[404045]]

環境:springboot2.3.11 + MyBatis3.5.6

依賴

  1. <dependency> 
  2.   <groupId>org.springframework.boot</groupId> 
  3.   <artifactId>spring-boot-starter-web</artifactId> 
  4. </dependency> 
  5. <dependency> 
  6.   <groupId>org.mybatis.spring.boot</groupId> 
  7.   <artifactId>mybatis-spring-boot-starter</artifactId> 
  8.   <version>2.1.4</version> 
  9. </dependency> 
  10. <dependency> 
  11.   <groupId>com.github.pagehelper</groupId> 
  12.   <artifactId>pagehelper-spring-boot-starter</artifactId> 
  13.   <version>1.3.0</version> 
  14. </dependency> 

 應用配置

  1. pagehelper: 
  2.   helperDialect: mysql 
  3.   reasonable: true 
  4.   pageSizeZero: true 
  5.   offsetAsPageNum: true 
  6.   rowBoundsWithCount: true 
  7. --- 
  8. mybatis: 
  9.   type-aliases-package: com.pack.domain 
  10.   configuration: 
  11.     lazy-loading-enabled: false 
  12.     aggressive-lazy-loading: false    
  13.     logImpl: org.apache.ibatis.logging.stdout.StdOutImpl 
  14.     mapUnderscoreToCamelCase: true 

 以上配置請查看官方文檔說明:

分頁配置:

mybatis配置:

啟動類添加Mapper掃描

  1. @SpringBootApplication 
  2. @MapperScan({"com.pack.mapper"}) 
  3. public class SpringBootMyBatisApplication { 
  4.  
  5.   public static void main(String[] args) { 
  6.     SpringApplication.run(SpringBootMyBatisApplication.class, args); 
  7.   } 
  8.  

 添加@MapperScan注解后,就不需要在每個Mapper上添加@Mapper注解了。

核心處理類:

MapperScannerRegistrar.java

  1. public class MapperScannerRegistrar implements ImportBeanDefinitionRegistrar, ResourceLoaderAware { 
  2. }   

 ImportBeanDefinitionRegistrar類的主要功能就是用來動態注冊Bean的。很多的第三方庫都是通過實現該接口來動態注冊Bean,比如EnableFeignClients用來掃描指定包下所有類上帶有@FeignClient注解的類。

ImportBeanDefinitionRegistrar需要結合ClassPathBeanDefinitionScanner使用ClassPathBeanDefinitionScanner用來掃描那些類需要被動態注冊為Bean。比如Mybatis中使用AutoConfiguredMapperScannerRegistrar來動態注冊具有@Mapper注解的類。

Mapper接口定義

  1. public interface UsersMapper { 
  2.      
  3.   /** 
  4.    *  <p>查詢所有數據</p> 
  5.    *  <p>時間:2021年4月21日-上午9:18:54</p> 
  6.    * @author xg 
  7.    * @return List<Users> 
  8.    */ 
  9.   @Select("SELECT * FROM t_users"
  10.   @Results(id = "users", value = {@Result(property = "name"column = "name", javaType = String.class),  
  11.   @Result(property = "password"column = "password")}) 
  12.   List<Users> findAll() ; 
  13.      
  14.   /** 
  15.    *  <p>根據主鍵ID查詢</p> 
  16.    *  <p>時間:2021年4月21日-上午9:19:34</p> 
  17.    * @author xg 
  18.    * @param id 主鍵ID 
  19.    * @return Users 
  20.    */ 
  21.   @Select("SELECT * FROM t_users WHERE id = #{id}"
  22.   @ResultMap("users"
  23.   Users findById(String id) ; 
  24.      
  25.   /** 
  26.    *  <p>保存數據</p> 
  27.    *  <p>時間:2021年4月21日-上午9:21:14</p> 
  28.    * @author xg 
  29.    * @param users 
  30.    * @return int 影響行數 
  31.    */ 
  32.   @Insert("insert into t_users values(#{id}, #{password}, #{username})"
  33.   int saveUsers(Users users) ; 
  34.      
  35.   /** 
  36.    *  <p>更新數據</p> 
  37.    *  <p>時間:2021年4月21日-上午9:22:19</p> 
  38.    * @author xg 
  39.    * @param users 
  40.    * @return int 影響行數 
  41.    */ 
  42.   @Update("UPDATE t_users SET username = #{username}, password = #{password} WHERE id = #{id}"
  43.   int updateUsers(Users users) ; 
  44.      
  45.   /** 
  46.    *  <p>根據主鍵ID刪除</p> 
  47.    *  <p>時間:2021年4月21日-上午9:23:36</p> 
  48.    * @author xg 
  49.    * @param id 主鍵ID 
  50.    * @return int 影響行數 
  51.    */ 
  52.   @Delete("DELETE FROM t_users where id = #{id}"
  53.   int deleteById(String id) ; 
  54.      
  55.   /** 
  56.    *  <p>通過SelectProvider實現動態SQL語句查詢</p> 
  57.    *  <p>時間:2021年5月21日-上午9:30:00</p> 
  58.    * @author xg 
  59.    * @param users 
  60.    * @return List<Users> 
  61.    */ 
  62.   @SelectProvider(type = UsersProvider.class, method = "selectLikeUsers"
  63.   @ResultMap("users"
  64.   List<Users> selectLikeUsers(Users users) ; 
  65.      
  66.   /** 
  67.    *  <p>通過UpdateProvider實現動態SQL更新操作</p> 
  68.    *  <p>時間:2021年5月21日-上午9:36:48</p> 
  69.    * @author xg 
  70.    * @param users 
  71.    * @return int 影響行數 
  72.   */ 
  73.   @UpdateProvider(type = UsersProvider.class, method = "updateByProvider"
  74.   int updateByProvider(@Param("users") Users users) ; 

 說明:

@Results注解添加了id屬性后,在其他的方法中可以通過@ResultMap("users")來引用。

@*Provider用來動態的定義SQL語句。

  1. public class UsersProvider { 
  2.  
  3.   public String selectLikeUsers(Users users) { 
  4.     StringBuilder sql = new StringBuilder("SELECT * FROM t_users t where 1=1 "); 
  5.       if(users.getUsername() != null && users.getUsername().trim().length() > 0) { 
  6.          sql.append(String.format("and t.username like '%s'""%" + users.getUsername() + "%")); 
  7.       } 
  8.     return sql.toString(); 
  9.     } 
  10.      
  11.   public String updateByProvider(@Param("users") Users users) { 
  12.     SQL sql = new SQL() ; 
  13.     sql.UPDATE("t_users"
  14.       .SET("username = #{users.username}""password = #{users.password}"
  15.       .WHERE("id = #{users.id}") ; 
  16.     return sql.toString() ; 
  17.   } 
  18.      

 單元測試

  1. @RunWith(SpringRunner.class) 
  2. @SpringBootTest 
  3. public class UsersMapperTest { 
  4.      
  5.   @Resource 
  6.   private UsersMapper usersMapper ; 
  7.      
  8.   @Test 
  9.   public void testFindAll() { 
  10.     Page<Users> page = PageHelper.startPage(1, 2) ; 
  11.     usersMapper.findAll() ; 
  12.     System.out.println(page.getResult()) ; 
  13.     System.out.println(page.getTotal() + "\n" + page.getPages()) ; 
  14.   } 
  15.      
  16.   @Test 
  17.   public void testFindById() { 
  18.     System.out.println(usersMapper.findById("1")) ; 
  19.   } 
  20.      
  21.   @Test 
  22.   public void testSaveUsers() { 
  23.     Users users = new Users() ; 
  24.     users.setId("4") ; 
  25.     users.setPassword("123456") ; 
  26.     users.setUsername("zhangsan") ; 
  27.     System.out.println(usersMapper.saveUsers(users)) ; 
  28.   } 
  29.      
  30.   @Test 
  31.   public void testUpdateUser() { 
  32.     Users users = new Users() ; 
  33.     users.setId("3") ; 
  34.     users.setPassword("111111") ; 
  35.     users.setUsername("zhangsan") ; 
  36.     System.out.println(usersMapper.updateUsers(users)) ; 
  37.   } 
  38.      
  39.   @Test 
  40.   public void testDeleteById() { 
  41.     System.out.println(usersMapper.deleteById("3")) ; 
  42.   } 
  43.      
  44.   @Test 
  45.   public void testSelectLikeUsers() { 
  46.     Users users = new Users() ; 
  47.     users.setUsername("gu") ; 
  48.     System.out.println(usersMapper.selectLikeUsers(users)) ; 
  49.   } 
  50.      
  51.   @Test 
  52.   public void testUpdateByProvider() { 
  53.     Users users = new Users() ; 
  54.     users.setId("2") ; 
  55.     users.setPassword("111111") ; 
  56.     users.setUsername("guest") ; 
  57.     System.out.println(usersMapper.updateByProvider(users)) ; 
  58.   } 
  59.      

 完畢!!!

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-05-19 09:53:16

SpringbootMyBatisMySQL

2023-10-09 07:37:01

2017-05-12 15:47:15

Spring BootMybatis Ann Web

2023-06-07 08:08:37

MybatisSpringBoot

2020-05-27 08:05:33

MybatisMapper接口

2023-10-11 07:57:23

springboot微服務

2021-11-10 11:37:48

Spring整合 Mybatis

2020-11-09 10:16:41

Mybatis

2024-10-18 08:53:49

SpringMybatis微服務

2023-09-07 17:06:21

@Autowired報錯原因分析

2025-02-26 09:24:54

SpringMySQLMyBatis

2024-07-02 11:42:53

SpringRedis自定義

2021-02-20 11:40:35

SpringBoot占位符開發技術

2024-10-09 10:46:41

springboot緩存redis

2021-09-26 05:02:00

緩存Ehcache用法

2025-10-20 02:00:00

2021-07-05 08:09:54

@AutowiredSpringMapper

2024-11-06 09:26:48

SpringprofileENV

2023-07-03 15:55:05

語法jpa狀態

2024-09-02 09:26:28

點贊
收藏

51CTO技術棧公眾號

精品国产电影一区二区| 亚洲综合区在线| 国产剧情久久久久久| 538任你躁在线精品视频网站| 日韩激情欧美| 欧美午夜女人视频在线| 亚洲精品成人自拍| 可以免费看毛片的网站| 首页国产欧美日韩丝袜| 米奇精品一区二区三区在线观看| 国产xxxxxxxxx| 欧洲亚洲精品久久久久| 香蕉加勒比综合久久 | 中文字幕一区二区三区四区久久| 好吊成人免视频| youjizz.com亚洲| 欧美日韩激情视频一区二区三区| 国产一二三精品| 欧洲永久精品大片ww免费漫画| 黄色一级大片在线免费观看| 日韩欧美在线精品| 日韩欧美一级精品久久| 视频二区在线播放| 亚洲插插视频| 亚洲一区二区三区小说| 亚洲精品久久区二区三区蜜桃臀| 少妇精品高潮欲妇又嫩中文字幕| 久久精品久久精品| 青草热久免费精品视频 | 欧美性猛交xxxx乱大交3| 亚洲春色综合另类校园电影| 日本在线视频1区| 国产福利一区二区三区视频| 国产伦精品免费视频| 国产高清中文字幕| 亚洲区一区二| 久久久久久亚洲精品中文字幕| 永久av免费网站| 欧美精品羞羞答答| 日韩精品极品在线观看| 日本国产在线视频| eeuss鲁片一区二区三区| 制服丝袜亚洲色图| 超碰成人在线播放| 一区二区三区| 在线播放一区二区三区| 激情 小说 亚洲 图片: 伦| 欧美专区福利免费| 欧美日韩亚洲天堂| 日韩av黄色网址| 亚洲v.com| 日韩欧美999| av片中文字幕| 秋霞国产精品| 91久久精品国产91性色tv| 欧美污视频网站| 在线观看精品| 91国偷自产一区二区三区观看 | 国产婷婷成人久久av免费高清 | jizz中国女人| 国产精品一区一区| 成人综合电影| 亚洲av片在线观看| 国产校园另类小说区| 无遮挡亚洲一区| 91亚洲精选| 亚洲乱码日产精品bd| 国产91在线亚洲| heyzo高清在线| 欧美性猛交xxxx免费看久久久| 免费激情视频在线观看| 亚洲18在线| 日韩精品一区二区三区中文不卡| 韩国一区二区三区四区| 国产亚洲精品美女久久| 亚洲美腿欧美激情另类| 日韩一区二区三区四区视频| 天天色综合色| 久久久伊人日本| 久久青青草原亚洲av无码麻豆| 三级影片在线观看欧美日韩一区二区| 国产精品福利网站| 99精品国产99久久久久久97| 成人网页在线观看| 欧美精品尤物在线| 午夜视频在线看| 亚洲成人在线网站| 在线观看av网页| xxxx日韩| 少妇高潮久久77777| 久久久久亚洲AV| 久久xxxx| av日韩免费电影| 久久精品国产亚洲a∨麻豆| 国产精品对白交换视频| 日本福利视频一区| av成人亚洲| 精品国产91久久久久久久妲己| 尤物视频最新网址| 欧美片第1页综合| 日韩av片永久免费网站| 国产夫绿帽单男3p精品视频| 久久免费午夜影院| 日本一级黄视频| 韩日一区二区| 日韩av一区二区在线| 日本精品在线免费观看| 香蕉成人久久| 91久久国产综合久久蜜月精品| 免费看男男www网站入口在线 | 免费网站永久免费观看| 五月激情久久| 日韩av在线看| 麻豆91精品91久久久| 免费观看30秒视频久久| 精品日本一区二区三区| 性xxxxfjsxxxxx欧美| 欧美日韩国产片| 魔女鞋交玉足榨精调教| 亚洲91中文字幕无线码三区| 国产91精品青草社区| a天堂视频在线| 中文字幕亚洲在| 91n.com在线观看| 老司机精品视频在线播放| 久青草国产97香蕉在线视频| 中文在线最新版天堂| 久久只精品国产| 日韩五码在线观看| heyzo欧美激情| 久久香蕉国产线看观看网| 亚洲精品国产欧美在线观看| 2021久久国产精品不只是精品| 丰满少妇大力进入| 成人资源在线| 欧美国产日本高清在线| 国产高清不卡视频| 自拍偷拍国产精品| 做a视频在线观看| 国产国产精品| 国产自产女人91一区在线观看| 国产区视频在线播放| 欧美性猛交xxxx乱大交3| 18禁裸乳无遮挡啪啪无码免费| 在线免费观看欧美| 国产美女精品在线观看| 欧美videos另类精品| 精品蜜桃在线看| 国产精品二区一区二区aⅴ| 国产成人在线视频网站| 欧美视频在线第一页| 中文字幕日韩在线| 97人人爽人人喊人人模波多| 黄色三级网站在线观看| 午夜久久久久久久久久一区二区| 午夜性福利视频| 999亚洲国产精| 久久久影院一区二区三区| 电影网一区二区| 亚洲人成电影网站色| 中国女人一级一次看片| 中文字幕制服丝袜成人av| 爱豆国产剧免费观看大全剧苏畅| 亚洲自拍偷拍网| 99久久99久久| 无码小电影在线观看网站免费| 亚洲九九九在线观看| 懂色av蜜臀av粉嫩av喷吹| ●精品国产综合乱码久久久久| 波多野结衣中文字幕在线播放| 狠狠入ady亚洲精品| 精品视频第一区| 欧美va在线观看| 久久夜精品va视频免费观看| 黄色小视频免费观看| 91成人在线观看喷潮| 国精产品视频一二二区| 国产精品系列在线观看| 99爱视频在线| 99免费精品| 国产亚洲福利社区| 91成人在线| 欧美贵妇videos办公室| 国产在线播放av| 日韩天堂在线观看| 成人av网站在线播放| 亚洲品质自拍视频| 国产精品久久AV无码| 日本亚洲欧美天堂免费| www.日本在线视频| 日韩精品首页| 精品国产一区二区三区麻豆小说 | 丁香久久综合| 久久久欧美精品| av资源网在线观看| 亚洲精品在线网站| 一级做a爱片久久毛片| 亚洲成人激情综合网| 大吊一区二区三区| 99在线精品视频| 日本免费色视频| 裸体一区二区| 欧美亚洲色图视频| 999视频精品| 欧美二区在线看| 国产主播性色av福利精品一区| 国产精品视频最多的网站| 日韩在线伦理| 欧美高清视频在线播放| 91av资源在线| 亚洲毛片在线观看| 国产18精品乱码免费看| 69堂国产成人免费视频| 手机在线看片1024| 亚洲午夜日本在线观看| 我要看黄色一级片| 欧美韩日一区二区三区| 一本色道久久综合亚洲精品图片| 国产成人免费视频精品含羞草妖精| 91网址在线播放| 99精品视频免费全部在线| 国产精品igao激情视频| 国产精品88久久久久久| 日韩免费中文专区| 深爱激情久久| 快播亚洲色图| 日韩伦理一区二区三区| 好吊色欧美一区二区三区视频| 精品网站999| 91精品免费看| 亚洲伊人精品酒店| 国产美女久久久| 99久久综合国产精品二区| 国产国语videosex另类| 毛片免费看不卡网站| 456亚洲影院| 九色porny丨入口在线| 久久久噜噜噜久久久| 久久亚洲导航| 久久久久成人网| 免费在线观看的电影网站| 欧美黄色性视频| 激情av在线播放| 久久久久久国产免费| ririsao久久精品一区| 久久久久久综合网天天| 黄网av在线| 国语对白做受69| 欧美激情网站| 日韩美女在线播放| 久久青草视频| 91九色在线视频| 久久综合偷偷噜噜噜色| aa日韩免费精品视频一| 狠狠一区二区三区| 免费观看国产成人| 欧美一区二区三区激情视频| 在线视频不卡国产| 欧美二区不卡| 日韩伦理在线免费观看| 久久综合狠狠| 一区二区免费av| 国产成人av电影在线| v天堂中文在线| 国产三级一区二区三区| 神马午夜精品91| 亚洲福利视频一区二区| 97久久久久久久| 欧美三级韩国三级日本三斤| 国产农村老头老太视频| 亚洲成人黄色网址| 国产中文字幕在线播放| 久久黄色av网站| 欧美黑人猛交| 日本精品va在线观看| 人人玩人人添人人澡欧美| 亚洲最大福利网站| 亚洲成在人线免费观看| 亚洲春色在线视频| 激情欧美丁香| 五月婷婷之综合激情| 国产不卡在线一区| 亚洲精品国产一区黑色丝袜| 国产精品短视频| 久久免费激情视频| 欧美午夜精品一区二区三区 | 亚洲欧美日本精品| 老司机午夜在线视频| 91精品国产高清久久久久久91| 国产成人a视频高清在线观看| 99久久综合狠狠综合久久止| 国产欧美一区二区精品久久久| 亚洲啊啊啊啊啊| 首页国产欧美久久| 成人免费看片载| 国产精品高潮呻吟| 国产成人在线视频观看| 日韩一级高清毛片| 成人动漫在线免费观看| 久久久久久久久久久av| 国产69精品久久久久9999人| 国产成人成网站在线播放青青| 精品久久不卡| 国产美女网站在线观看| 国产在线视频精品一区| 国产视频三区四区| 激情成人中文字幕| 国产精品一区二区免费视频| 亚洲欧美日韩精品久久| 欧美日韩色网| 91在线无精精品一区二区| 精品产国自在拍| av黄色在线网站| 成人黄色国产精品网站大全在线免费观看| 欧美福利第一页| 欧美天堂在线观看| 少妇高潮久久久| 久久久久久久久91| 日韩中文字幕在线一区| 一本久久a久久精品vr综合 | 久久精品青草| 成年人在线看片| 97久久超碰精品国产| 国产这里有精品| 91麻豆精品国产91久久久更新时间| 黄色片在线免费看| 欧洲日本亚洲国产区| 羞羞色国产精品网站| 国产 日韩 欧美在线| 国产精品亚洲人在线观看| 精品国产精品国产精品| 在线播放亚洲一区| 黄色的网站在线观看| 国产精品中文字幕在线| 精品国产一级毛片| 久久久久人妻精品一区三寸| 99免费精品在线观看| 伊人国产在线观看| 亚洲国产第一页| 超碰在线cao| 久久人人爽爽人人爽人人片av| 亚洲电影在线| 欧美肉大捧一进一出免费视频| 亚洲成人精品一区二区| 先锋av资源站| 日韩av手机在线| 日韩欧美高清在线播放| 久久久久久蜜桃一区二区| 国产视频一区二区在线| 中文字幕欧美人妻精品| 色伦专区97中文字幕| 亚洲福利影视| 日韩中文在线字幕| 成人午夜电影小说| 国产高清中文字幕| 一本色道久久综合狠狠躁篇的优点 | 手机亚洲手机国产手机日韩| 国产又大又黄又猛| 亚洲免费观看高清完整| 成人激情四射网| 91精品国产高清自在线看超| 奇米影视777在线欧美电影观看| 日韩中文字幕三区| 国产欧美日韩视频在线观看| 亚洲图片中文字幕| 欧美成人激情视频免费观看| 国产极品模特精品一二| 成人在线免费在线观看| 国产精品私人自拍| 国产白浆在线观看| 97色在线观看| blacked蜜桃精品一区| 992kp免费看片| 午夜欧美一区二区三区在线播放| 三级黄视频在线观看| 国产女同一区二区| 伊人影院久久| 精品人体无码一区二区三区| 欧美一区二区三区性视频| 韩国成人二区| 亚洲精品中文字幕在线| 国产成人a级片| 精品久久久久久久久久久国产字幕| 日韩中文字幕第一页| 超碰成人免费| 中文字幕天天干| 亚洲成人激情自拍| 欧美精品日韩少妇| 国精产品99永久一区一区| 蜜臀av在线播放一区二区三区| 欧美一区二区三区爽爽爽| 日韩精品日韩在线观看| 国产高清精品二区| 日本三级免费观看| 亚洲乱码国产乱码精品精的特点| 日韩欧美电影在线观看| 91超碰在线电影| 蜜桃视频在线一区| 国产精品久久久免费视频| 久久色在线播放|