最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis批量插入更新xml方式和注解方式的方法實(shí)例

 更新時(shí)間:2019年12月01日 09:38:20   作者:馬佩  
這篇文章主要給大家介紹了關(guān)于Mybatis批量插入更新xml方式和注解方式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

最近工作上遇到很多批量插入的場(chǎng)景,但是百度很難得到我想要的結(jié)果,而且查出來的效果不是很好~

所以就自己來寫一份給大家參考,希望對(duì)大家有用

Mybatis 批量插入注解形式

@Insert("<script> INSERT INTO t_device_policy "
   + "(id,device_id,type,policy,create_time,update_time) "
   + "VALUES "
   + "<foreach collection = 'list' item='list' separator=',' > "
   + " (#{list.id},#{list.deviceId},#{list.policyType},#{list.policy},#{list.createTime},#{list.updateTime}) "
   + "</foreach>"
   + "</script>")
 int insert(@Param(value = "list")List<DevicePolicy> list);

Mybatis 批量插入主鍵存在更新注解形式

@Insert("<script> INSERT INTO t_device_policy "
   + "(id,device_id,type,policy "
   + "VALUES "
   + "<foreach collection = 'list' item='list' separator=',' > "
   + " (#{list.id},#{list.deviceId},#{list.policyType},#{list.policy}) "
   + "</foreach>"
   + "ON DUPLICATE KEY "
   + "UPDATE policy = VALUES(policy)"
   + "</script>")
 int insert(@Param(value = "list")List<DevicePolicy> list);

ON DUPLICATE KEY的使用場(chǎng)景大家知道嗎?

當(dāng)你設(shè)計(jì)的數(shù)據(jù)庫(kù)表中的主鍵存在時(shí)更新對(duì)應(yīng)的字段,不存在則插入。

還有一種情況就是你設(shè)計(jì)的唯一主鍵存在時(shí)更新對(duì)應(yīng)的字段,不存在則插入。

大家可以根據(jù)自己的場(chǎng)景看是否需要該字段~

Mybatis 批量更新注解形式

@Insert("<script> INSERT INTO t_device_policy "
   + "(id,device_id,type,policy "
   + "VALUES "
   + "<foreach collection = 'list' item='list' separator=',' > "
   + " (#{list.id},#{list.deviceId},#{list.policyType},#{list.policy}) "
   + "</foreach>"
   + "ON DUPLICATE KEY "
   + "UPDATE policy = VALUES(policy)"
   + "</script>")
 int insert(@Param(value = "list")List<DevicePolicy> list);

Mybatis 批量插入xml形式

 <insert id="batchAdd" parameterType="java.util.List">
  INSERT INTO t_student(uid,student_id,study_days)
  VALUES
  <foreach collection="list" item="item" index="index" separator=",">
   (#{item.uid},#{item.studentId},#{item.studyDays})
  </foreach>
 </insert>

Mapper中的方法為

 void batch(List<StudentPo> po)

Mybatis 批量插入主鍵更新xml形式

 <insert id="batchAdd" parameterType="java.util.List">
  INSERT INTO t_student(uid,student_id,study_days)
  VALUES
  <foreach collection="list" item="item" index="index" separator=",">
   (#{item.uid},#{item.studentId},#{item.studyDays})
  </foreach>
  ON DUPLICATE KEY UPDATE
  update_time = now()
 </insert>

Mapper中的方法為

 void batch(List<StudentPo> po)

總結(jié)

以上為Mybatis批量操作經(jīng)常使用的部分,大家可以根據(jù)需要自行提取,如果有什么問題可以留言哈~希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論

嘉鱼县| 腾冲县| 海原县| 平武县| 绍兴县| 莱芜市| 新田县| 乌兰察布市| 定兴县| 响水县| 涞水县| 清水县| 华亭县| 兰西县| 郓城县| 莱西市| 郎溪县| 北安市| 威远县| 托里县| 政和县| 莫力| 紫阳县| 蕲春县| 左贡县| 临朐县| 巧家县| 衡南县| 楚雄市| 郑州市| 连州市| 五华县| 手游| 揭东县| 桑植县| 牟定县| 汤阴县| 莆田市| 如皋市| 孟连| 垣曲县|