当前位置:   article > 正文

Mybatis 实现Mysql批量插入数据,判断数据是否存在_mybatis 批量insert 判断是否存在

mybatis 批量insert 判断是否存在

常见插入数据的SQL

  • insert into 插入数据库时会检查主键是否存在,存在会报错
  • replace into 替换数据库记录,需要表中有主键或者unique索引,如果数据库已存在的数据,会先删除该数据然后新增。不存在的数据效果和insert into 一样。
  1. <insert id="insertInfoBatch" parameterType="java.util.List">
  2. replace into GOVRECEIPTS (state,orgname,orgaddr,regauth,rcptyear,receipts,crtdate)
  3. values
  4. <foreach collection="list" item="item" index="index" separator=",">
  5. (#{item.state}, #{item.orgname}, #{item.orgaddr}, #{item.regauth},
  6. #{item.rcptyear}, #{item.receipts}, #{item.crtdate})
  7. </foreach>
  8. </insert>
  • insert ignore 需要表中有主键或者unique索引,如果数据库中存在相同的数据,则忽略当前数据。不存在的数据效果和insert into 一样。
  1. <insert id="insertInfoBatch" parameterType="java.util.List">
  2. insert ignore GOVRECEIPTS (state,orgname,orgaddr,regauth,rcptyear,receipts,crtdate)
  3. values
  4. <foreach collection="list" item="item" index="index" separator=",">
  5. (#{item.state}, #{item.orgname}, #{item.orgaddr}, #{item.regauth},
  6. #{item.rcptyear}, #{item.receipts}, #{item.crtdate})
  7. </foreach>
  •  
  • on duplicate  key update 使用该语法可在插入记录的时候先判断记录是否存在,如果不存在则插入,否则更新,很方便,无需执行两条SQL
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/569326
推荐阅读
相关标签
  

闽ICP备14008679号