mabits批量insert、update、select
一、批量查詢
①單條件批量查詢
dao 層
public List<String>bindingDriver_update_select(List<BindingDriver> list);
xml檔案
<select id="bindingDriver_update_select" resultType="java.lang.String">
SELECT z_driver.username FROM z_binding
where z_binding.ucardid in
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item.ucardid}
</foreach>
②多條件批量查詢
dao 層
public List<String>bindingDriver_update_select(List<BindingDriver> list);
xml檔案
<select id="bindingDriver_update_select" resultType="java.lang.String">
<foreach collection="list" index="index" item="item" open="" close="" separator=";">
where z_binding.ucardid = #{item.ucardid} and z_binding.fiapper_num !=#{item.fiapper_num}
</foreach>
</select>
注意:單條件和多條件查詢,foreach標籤的open、close、separator屬性不同,單條件separator是逗號“,”,多條件時separator是分號“;”
二、批量修改
①單條件修改
dao層
public void administrative_unit_update(List<TranspotyCar> list);
xml檔案
<update id="administrative_unit_update" parameterType="java.util.List">
update z_transpotycar
set administrative_unit=#{item.administrative_unit}
where fiapper_num in
<foreach collection ="list" item="item" index= "index" open="(" separator="," close=")">
#{item.fiapper_num}
</foreach>
</update>
②多條件修改
dao層
public void administrative_unit_update(List<TranspotyCar> list);
xml檔案
<update id="administrative_unit_update" parameterType="java.util.List">
<foreach collection ="list" item="item" index= "index" separator =";">
update z_transpotycar
<set>
administrative_unit=#{item.administrative_unit}
</set>
where fiapper_num=#{item.fiapper_num} and transpotyComId=#{item.transpotyComId}
</foreach>
</update>
三、批量insert
dao層
public void bindingDriver_update_insert(List<BindingDriver> list);
xml檔案
<!-- 批量增加操作 -->
<insert id="bindingDriver_update_insert" parameterType="java.util.List">
insert into z_binding(transpotyComId,fiapper_num,ucardid) values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.transpotyComId},#{item.fiapper_num},#{item.ucardid})
</foreach>
</insert>