mybatis分割字符串并循环,实现in多个参数的操作

mybatis分割字符串并循环,实现in多个参数

mybatis xml代码:

  

mybatis sql打印:

==>  Preparing: select * from carinfo where xh in ( ? , ? ) 
==> Parameters: 1(String), 2(String)

mybatis多参数使用方法且其中有的参数是多个值使用in查询

1.当只有一个参数时且参数类型是List

List listInfo(@Param("orderIds") List orderIds);

我这里对参数重命名为"orderIds",所以下面foreach中collection="orderIds",如果未重命名则foreach中collection="list"


2. 当只有一个参数时且参数类型是Array

List listInfo(Long[] orderIds);

如果参数类型是Array则collection属性为array


3.注意当查询的参数有多个时,例如

List listInfo(List orderIds, Integer num);

这种情况下传参要使用Map方式,这样在collection属性可以指定名称

Map params = new HashMap<>();
params.put("orderIds",orderIds);
params.put("num",num);
List listInfo(params);

XML如下:


以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(mybatis分割字符串并循环,实现in多个参数的操作)