mybatis批量插入,批量更新,批量删除
1.批量插入,xml文件
<!-- 批量插入虚拟机数据 -->
<insert id="batchInsertVirtualMachine" parameterType="java.util.List"
useGeneratedKeys="false">
insert into virtual_machine
(name,dynamic_name, state)
values
<foreach collection="list" item="item" index="index"
separator=",">
(
#{item.name},
#{item.dynamicName},
#{item.state}
)
</foreach>
</insert>
2.批量删除,xml文件
<!-- 根据uid批量删除虚拟机 -->
<delete id="batchDeleteVirtualMachineByUid" parameterType="java.util.List">
delete from virtual_machine
where uid in
<foreach collection="list" item="uid" index="index" open="("
close=")" separator=",">
#{uid}
</foreach>
</delete>
3.批量更新,xml文件
<!-- 批量跟新 -->
<update id="updateBatchByUidSelect" parameterType="java.util.List">
<foreach collection="virtualMachineList" item="item" index="index"
open="" close="" separator=";">
update virtual_machine
<set>
<if test="item.name != null">
name = #{item.name},
</if>
<if test="item.state != null">
state = #{item.state},
</if>
<if test="item.uid != null">
uid = #{item.uid},
</if>
</set>
where uid = #{item.uid}
</foreach>
</update>
4.Mapper.java文件
/**
* 批量插入虚拟机
*
* @param virtualMachineList
* @return
*/
int batchInsertVirtualMachine(List<VirtualMachine> virtualMachineList);
/**
* 根据uid批量删除虚拟机
*
* @param uidList
* @return
*/
int batchDeleteVirtualMachineByUid(List<String> uidList);
/**
* 根据uid批量选择更新
*
* @param virtualMachineList
* @return
*/
int updateBatchByUidSelect(@Param("virtualMachineList") List<VirtualMachine> virtualMachineList);