欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

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

所以就自己來(lái)寫(xiě)一份給大家參考,希望對(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ù)需要自行提取,如果有什么問(wèn)題可以留言哈~希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • java?stream實(shí)現(xiàn)分組BigDecimal求和以及自定義分組求和

    java?stream實(shí)現(xiàn)分組BigDecimal求和以及自定義分組求和

    這篇文章主要給大家介紹了關(guān)于java?stream實(shí)現(xiàn)分組BigDecimal求和以及自定義分組求和的相關(guān)資料,Stream是Java8的一大亮點(diǎn),是對(duì)容器對(duì)象功能的增強(qiáng),它專注于對(duì)容器對(duì)象進(jìn)行各種非常便利、高效的聚合操作或者大批量數(shù)據(jù)操作,需要的朋友可以參考下
    2023-12-12
  • SpringBoot中@ControllerAdvice注解的使用方法

    SpringBoot中@ControllerAdvice注解的使用方法

    這篇文章主要介紹了SpringBoot中@ControllerAdvice注解的使用方法,這是一個(gè)增強(qiáng)的?Controller,對(duì)controller層做異常處理、數(shù)據(jù)預(yù)處理、全局?jǐn)?shù)據(jù)綁定,?springboot?會(huì)自動(dòng)掃描到,不需要調(diào)用,這個(gè)注解是spring?MVC提供的,在springboot中也可以使用,需要的朋友可以參考下
    2024-01-01
  • SpringBoot底層注解超詳細(xì)介紹

    SpringBoot底層注解超詳細(xì)介紹

    這篇文章主要介紹了SpringBoot底層注解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-09-09
  • 注冊(cè)中心配置了spring?security后客戶端啟動(dòng)報(bào)錯(cuò)

    注冊(cè)中心配置了spring?security后客戶端啟動(dòng)報(bào)錯(cuò)

    這篇文章主要為大家介紹了注冊(cè)中心配置了spring?security后客戶端啟動(dòng)報(bào)錯(cuò)問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Java實(shí)現(xiàn)反轉(zhuǎn)一個(gè)鏈表的示例代碼

    Java實(shí)現(xiàn)反轉(zhuǎn)一個(gè)鏈表的示例代碼

    本文主要介紹了Java實(shí)現(xiàn)反轉(zhuǎn)一個(gè)鏈表的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 推薦一款I(lǐng)ntelliJ IDEA提示快捷鍵的Key Promoter X插件

    推薦一款I(lǐng)ntelliJ IDEA提示快捷鍵的Key Promoter X插件

    今天小編就為大家分享一篇關(guān)于IntelliJ IDEA提示快捷鍵的Key Promoter X插件,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • springboot整合阿里云oss上傳的方法示例

    springboot整合阿里云oss上傳的方法示例

    這篇文章主要介紹了springboot整合阿里云oss上傳的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java批量向PDF文件中添加圖像水印實(shí)現(xiàn)細(xì)節(jié)

    Java批量向PDF文件中添加圖像水印實(shí)現(xiàn)細(xì)節(jié)

    這篇文章主要為大家介紹了Java批量向PDF文件中添加圖像水印實(shí)現(xiàn)細(xì)節(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 通過(guò)源代碼分析Mybatis的功能流程詳解

    通過(guò)源代碼分析Mybatis的功能流程詳解

    這篇文章主要介紹了通過(guò)源代碼分析Mybatis的功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 淺談線程通信wait,notify作用

    淺談線程通信wait,notify作用

    這篇文章主要介紹了淺談線程通信wait,notify作用,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12

最新評(píng)論