MyBatis中foreach动态SQL
查询条件是list时,或者根据条件批量更新时,需要使用foreach动态SQL。
例如:
item: 集合项,如果集合里是基础数据类型,就用#{item};如果集合里是对象,就用#{item.属性}。注意区分。
separator: 迭代分隔符。
图一传逗号:separator="," 效果如下:
SELECT * FROM product_category WHERE category_type IN (item1,item2,item3,item4,item5)
图二传分号:separator=";" 效果如下:
UPDATE buss_store SET state = #{item.state} WHERE id = #{item.id};
UPDATE buss_store SET state = #{item.state} WHERE id = #{item.id};
UPDATE buss_store SET state = #{item.state} WHERE id = #{item.id};
参考文档:
https://m