mybatis批量插入批量删除

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis批量插入批量删除相关的知识,希望对你有一定的参考价值。

mybatis
批量插入
int addBatch(@Param("list")List<CustInfo> list);
<insert id="addBatch" parameterType="java.util.List">
INSERT INTO CUSTINFO(
SERIALID,
CUSTID,
INVNM,
UPDATETIMESTAMP
)
<foreach collection="list" item="item" separator="union all" index="index" >
( SELECT 
#{item.serialid,       jdbcType=VARCHAR},
#{item.custid,         jdbcType=VARCHAR},
#{item.invnm,          jdbcType=VARCHAR},
TO_TIMESTAMP(#{item.updatetimestamp}, ‘syyyy-mm-dd hh24:mi:ss.ff‘)
FROM DUAL
)
</foreach>
</insert>
批量删除
int delCustInfoBatch(@Param("list")List<CustInfo> list);
<update id="delCustInfoBatch" parameterType="java.util.List" >
DELETE FROM CUSTINFO
WHERE SERIALID IN
<foreach collection="list" item="item" open="(" separator="," close=")"  index="index" >
#{item.serialid,jdbcType=VARCHAR}
</foreach>
</update>


要做批量插入数据库,首先得知道该数据库对批量插入所支持的语法。

每一个数据库批量插入的语法都不一样。


mysql插入
<insert id="batchSave" parameterType="java.util.List">
INSERT INTO TABLE_NAME
( ID,
NAME
)
VALUES
<foreach collection="list"  item="item" separator=",">
( #{item.id,jdbcType=VARCHAR},
#{item.name,jdbcType=VARCHAR}
)
</foreach>
</insert>

以上是关于mybatis批量插入批量删除的主要内容,如果未能解决你的问题,请参考以下文章

mybatis批量查询-插入-删除

mybatis批量查询-插入-删除

mybatis批量插入批量删除

mybatis 批量插入/批量修改/批量删除

Mybatis批量更新,批量删除

mybatis使用foreach进行批量插入和删除操作