mybatis 查询sql时foreach使用法

Posted 一心二念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis 查询sql时foreach使用法相关的知识,希望对你有一定的参考价值。

找到俩个例子摘下来

sql查询用户in传list参数

<select id="getEmpsByConditionForeach" resultType="com.test.beans.Employee">
SELECT * FROM tb1_emplyee WHERE id IN
<foreach collection="list" item="item_id" separator="," open="(" close=")">
#{item_id}
</foreach>
</select>

批量插入


<insert id="addEmps">
INSERT INTO tb1_emplyee(last_name,email,gender,d_id)
VALUES
<foreach collection="emps" item="emp" separator=",">
(#{emp.lastName},#{emp.email},#{emp.gender},#{emp.dept.id})
</foreach>
</insert>

collection:指定要遍历的集合:
list类型的参数会特殊处理封装在map中,map的key就叫list
item:将当前遍历出的元素赋值给指定的变量
separator:每个元素之间的分隔符
open:遍历出所有结果拼接一个开始的字符
close:遍历出所有结果拼接一个结束的字符
index:索引。遍历list的时候是index就是索引,item就是当前值
遍历map的时候index表示的就是map的key,item就是map的值
#{变量名}就能取出变量的值也就是当前遍历出的元素





















以上是关于mybatis 查询sql时foreach使用法的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis 物理分页foreach 参数失效

MyBatis中动态sql的模糊搜索foreach实现In集合的用法

Mybatis之foreach用法----ListArrayMap三种类型遍历

Springboot + MyBatis入门培训 2 增改删除与查询 in like foreach操作

Mybatis遍历查询 ——foreach

java框架之mybatis(动态SQL)