18Mybatis_动态sql_foreach

时间:2023-03-08 18:58:53
18Mybatis_动态sql_foreach

foreach:

向sql传递数组或List,mybatis使用foreach解析

应用场景:

在用户查询列表和查询总数的statement中增加多个id输入查询。

sql语句如下:

两种方法:

SELECT * FROM USER WHERE id=1 OR id=10 OR id=16

SELECT * FROM USER WHERE id IN(1,10,16)

这样显得很麻烦,所以就有了foreach

做法如下:

1.在输入参数类型中添加List<Integer> ids传入多个id

18Mybatis_动态sql_foreach

2. 修改mapper.xml

WHERE id=1 OR id=10 OR id=16

在查询条件中,查询条件定义成一个sql片段,需要修改sql片段。

18Mybatis_动态sql_foreach

3.测试代码:

18Mybatis_动态sql_foreach