最近公司要求使用Mybatis,突然发现面对Mybatis俺就是小白,so so so ... 将在项目开发中所遇到的问题记录下来。尽量写详细点
Mybatis foreach 批量删除
传入参数List集合(List<String> 、 List<Integer> ..)
<update id="deleteMutl" parameterType="java.util.List">
UPDATE T_DOCTOR
<set>
STATUS = '2'
</set>
WHERE ID in <!-- separator="," -->
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
<!-- #{item.id} 传入的是 List<Doctor> 集合 获取值得方式-->
</foreach>
</update>
最终执行的SOL代码:
UPDATE T_DOCTOR SET STATUS = '2' WHERE ID in ( ? , ? , ? , ? ) 在以上代码中【open="(" separator="," close=")"】对应 ( ? , ? , ? , ? )
针对 【<foreach collection="list" item="item" index="index" open="(" separator="," close=")">】 详解
collection:DAO层传入参数滴名字,
item : 为集合中对象取的别名
open="(" <span style="white-space:pre"> </span>: 以"(" 开始
<pre name="code" class="java">separator="," ; 参数以","分隔
<pre name="code" class="java">close=")"<span style="white-space:pre"> </span>; 以")" 结束