日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Springboot整合MyBatis參數(shù)傳值方式

環(huán)境:springboot2.3.9.RELEASE + MyBatis + MySQL

成都創(chuàng)新互聯(lián)自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設計、成都網(wǎng)站建設、網(wǎng)站制作、電子商務、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務。公司擁有豐富的網(wǎng)站建設和互聯(lián)網(wǎng)應用系統(tǒng)開發(fā)管理經(jīng)驗、成熟的應用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團隊及專業(yè)的網(wǎng)站設計師團隊。

環(huán)境配置

依賴

 
 
 
  1.   org.springframework.boot
  2.   spring-boot-starter-data-jpa
  3.   mysql
  4.   mysql-connector-java
  5.   runtime
  6.   org.mybatis.spring.boot
  7.   mybatis-spring-boot-starter
  8.   2.1.4
  9.   com.github.pagehelper
  10.   pagehelper-spring-boot-starter
  11.   1.3.0

 應用配置

 
 
 
  1. spring:
  2.   datasource:
  3.     driverClassName: com.mysql.cj.jdbc.Driver
  4.     url: jdbc:mysql://localhost:3306/testjpa?serverTimezone=GMT%2B8
  5.     username: root
  6.     password: 123123
  7.     type: com.zaxxer.hikari.HikariDataSource
  8.     hikari:
  9.       minimumIdle: 10
  10.       maximumPoolSize: 200
  11.       autoCommit: true
  12.       idleTimeout: 30000
  13.       poolName: MasterDatabookHikariCP
  14.       maxLifetime: 1800000
  15.       connectionTimeout: 30000
  16.       connectionTestQuery: SELECT 1
  17. ---
  18. spring:
  19.   jpa:
  20.     generateDdl: false
  21.     hibernate:
  22.       ddlAuto: update
  23.     openInView: true
  24.     show-sql: true
  25. ---
  26. pagehelper:
  27.   helperDialect: mysql
  28.   reasonable: true
  29.   pageSizeZero: true
  30.   offsetAsPageNum: true
  31.   rowBoundsWithCount: true
  32. ---
  33. mybatis:
  34.   type-aliases-package: com.pack.domain
  35.   mapper-locations:
  36.   - classpath:/mappers/*.xml

 主要是數(shù)據(jù)源 + MyBatis starter + pagehelper相關配置。

Mapper接口參數(shù)傳值方式

方式1:

 
 
 
  1. List queryUsers1(String idNo, String username) ;

xml

 
 
 
  1.   SELECT * FROM bc_users T where T.ID_NO = #{param1} AND T.USERNAME LIKE CONCAT(CONCAT('%',#{param2}), '%') 

根據(jù)方法的參數(shù)順序param*。

或者:

 
 
 
  1.   SELECT * FROM bc_users T where T.ID_NO = #{idNo} AND T.USERNAME LIKE CONCAT(CONCAT('%',#{username}), '%') 

直接寫參數(shù)名稱。

方式2:

通過@Param注解指明參數(shù)的名稱

 
 
 
  1. List queryUsers2(@Param("no")String idNo,  @Param("un")String username) ;

xml

 
 
 
  1.   SELECT * FROM bc_users T where T.ID_NO = #{no} AND T.USERNAME LIKE CONCAT(CONCAT('%',#{un}), '%') 

方式3:

通過Map傳參

 
 
 
  1. List queryUsers3(Map params) ;

xml

 
 
 
  1.   SELECT * FROM bc_users T where T.ID_NO = #{id_no} AND T.USERNAME LIKE CONCAT(CONCAT('%',#{user_name}), '%') 

這里的#{xxx} 就是存入Map中的Key。

方式4:

通過對象傳參

 
 
 
  1. List queryUsers4(UsersDTO params) ;

UsersDTO.java

 
 
 
  1. public class UsersDTO extends ParamsDTO {
  2.     
  3.     private String idNo ;
  4.     private String username ;
  5.     public String getIdNo() {
  6.         return idNo;
  7.     }
  8.     public void setIdNo(String idNo) {
  9.         this.idNo = idNo;
  10.     }
  11.     public String getUsername() {
  12.         return username;
  13.     }
  14.     public void setUsername(String username) {
  15.         this.username = username;
  16.     }
  17.     
  18. }

 xml

 
 
 
  1.   SELECT * FROM bc_users T where T.ID_NO = #{idNo} AND T.USERNAME LIKE CONCAT(CONCAT('%',#{username}), '%') 

這里的#{xxx} 對象中必須有該屬性對應的getter方法。

方式5:

List集合參數(shù)

 
 
 
  1. List queryUsers5(Collection params) ;

xml

 
 
 
  1.   SELECT * FROM bc_users T where T.id in 
  2.     
  3.       #{id}
  4.     

Mapper

 
 
 
  1. @Mapper
  2. public interface UsersMapper {
  3.     
  4.     List queryUsers1(String idNo, String username) ;
  5.     
  6.     List queryUsers2(@Param("no")String idNo,  @Param("un")String username) ;
  7.     
  8.     List queryUsers3(Map params) ;
  9.     
  10.     List queryUsers4(UsersDTO params) ;
  11.     
  12.     List queryUsers5(Collection params) ;
  13.     
  14. }

 XML

 
 
 
  1.     
  2.         
  3.         
  4.         
  5.         
  6.         
  7.         
  8.         
  9.     
  10.     
  11.         SELECT * FROM bc_users T where T.ID_NO = #{idNo} AND T.USERNAME LIKE CONCAT(CONCAT('%',#{username}), '%') 
  12.     
  13.     
  14.         SELECT * FROM bc_users T where T.ID_NO = #{no} AND T.USERNAME LIKE CONCAT(CONCAT('%',#{un}), '%') 
  15.     
  16.     
  17.         SELECT * FROM bc_users T where T.ID_NO = #{id_no} AND T.USERNAME LIKE CONCAT(CONCAT('%',#{user_name}), '%') 
  18.     
  19.     
  20.         SELECT * FROM bc_users T where T.ID_NO = #{idNo} AND T.USERNAME LIKE CONCAT(CONCAT('%',#{username}), '%') 
  21.     
  22.     
  23.         SELECT * FROM bc_users T where T.id in 
  24.          
  25.             #{id}
  26.         
  27.     

 Controller

 
 
 
  1. @Resource
  2.     private UsersMapper usersMapper ;
  3.     
  4.     @GetMapping("/q1")
  5.     public Object q1(UsersDTO params) {
  6.         return R.success(Pager.query(params, () -> {
  7.             return usersMapper.queryUsers1(params.getIdNo(), params.getUsername()) ;
  8.         })) ;
  9.     }
  10.     
  11.     @GetMapping("/q2")
  12.     public Object q2(UsersDTO params) {
  13.         return R.success(Pager.query(params, () -> {
  14.             return usersMapper.queryUsers2(params.getIdNo(), params.getUsername()) ;
  15.         })) ;
  16.     }
  17.     
  18.     @GetMapping("/q3")
  19.     public Object q3(UsersDTO params) {
  20.         return R.success(Pager.query(params, () -> {
  21.             Map ps = new HashMap<>() ;
  22.             ps.put("id_no", params.getIdNo()) ;
  23.             ps.put("user_name", params.getUsername()) ;
  24.             return usersMapper.queryUsers3(ps) ;
  25.         })) ;
  26.     }
  27.     
  28.     @GetMapping("/q4")
  29.     public Object q4(UsersDTO params) {
  30.         return R.success(Pager.query(params, () -> {
  31.             return usersMapper.queryUsers4(params) ;
  32.         })) ;
  33.     }
  34.     
  35.     @GetMapping("/q5")
  36.     public Object q5(@RequestBody List ids) {
  37.         return R.success(Pager.query(new UsersDTO(), () -> {
  38.             return usersMapper.queryUsers5(ids) ;
  39.         })) ;
  40.     }

完畢!!!


名稱欄目:Springboot整合MyBatis參數(shù)傳值方式
URL網(wǎng)址:http://www.dlmjj.cn/article/cooecoc.html