动态sql语句 入参中存在 数组 或 List

摘要:
使用foreach进行动态拼接foreach可以遍历SQL语句中的集合。其属性主要包括项、索引、集合、分隔符、关闭和打开项。它们表示迭代时集合中每个元素的别名。索引:此属性的值不同。如果输入参数是单个参数,并且参数类型是List,则集合属性的值是一个列表。如果输入参数是单个参数,并且参数类型是数组。

mybatis中入参存在 数组或List 时,使用foreach 进行动态拼接

foreach可以在SQL语句中迭代一个集合。它的属性主要有item、index、collection、separator、close、open

  • item:表示集合中每一个元素进行迭代时的别名
  • index:指定一个名称,用于表示在迭代过程中,每次迭代到的位置
  • open:表示该语句以什么开始,in条件语句是以“(”开始 
  • separator:表示在每次迭代之间以什么符号作为分隔符,in条件语句以“,”作为分隔符
  • close:表示该语句以什么结束,in条件语句是以“)”结束
  • collection:该属性必需指定,不同情况下,该属性的值是不一样的
    • 若入参为单参数且参数类型是一个List,collection属性值为list
    • 若入参为单参数且参数类型是一个数组,collection属性值为array
    • 若传入参数为多参数,就需要把它们封装为一个Map进行处理
    • 若传入参数为多参数时,collection属性值为传入的列表名或数组名
<select   resultMap="userMapByRole">
  select * from smbms_user where userRole in
    <foreach collection="array" item="roleIds" open="(" separator="," close=")">
      #{roleIds}
    </foreach>
</select>

注:mybatis在传入多个参数的时候,要用注解 @Param()命名别名,否则会报错

免责声明:文章转载自《动态sql语句 入参中存在 数组 或 List》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇flask第30篇——宏macro和import标签基于jQuery美化联动下拉选择框下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[TimLinux] JavaScript BOM浏览器对象模型

1. 简介 ECMAScript是JavaScript的核心,但是如果要在WEB中使用JavaScript,那么BOM则无疑才是真的的核心。BOM提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。BOM没有标准,各浏览器厂商间定义的公共对象,可以作为事实上的标准存在。W3C在HTML5中把BOM纳入了规范中。 2. window对象 win...

VB串口通信详解

       转载:https://blog.csdn.net/dongyue786/article/details/8177047   MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。 Micros...

shell学习(16)- 压缩和解压缩命令tar和zip

tar命令 [root@Linux ~]# tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! 因为不可能同时压缩与解压缩。 -z...

获取,标签里面属性的值的方法

获取,标签里面属性的值的方法,(下面是获取a标签里面属性source-data-lazy-img的值 ) soup2 = BeautifulSoup(span.encode('utf-8'), 'html.parser')for img2 in soup2.find_all('img',{"source-data-lazy-img":True}):  pr...

SpringBoot读取配置文件的几种方式

Spring读取配置文件的几种方法,SpringBoot也都支持。具体查看:https://www.cnblogs.com/myitnews/p/14028588.html 本文主要介绍SpringBoot独有的一种读取方法,使用注解:@ConfigurationProperties。 使用 @Value 注解或者使用 Spring Environment...

js object 常用方法总结

Object.assign(target,source1,source2,...) 该方法主要用于对象的合并,将源对象source的所有可枚举属性合并到目标对象target上,此方法只拷贝源对象的自身属性,不拷贝继承的属性。 Object.assign方法实行的是浅拷贝,而不是深拷贝。也就是说,如果源对象某个属性的值是对象,那么目标对象拷贝得到的是这个对象...