mybatis注解如何實(shí)現(xiàn)對(duì)象批量更改
mybatis注解對(duì)象批量更改
一、介紹
當(dāng)有多個(gè)對(duì)象需要進(jìn)行更改時(shí),批量修改對(duì)象集合List
二、代碼
@Update("<script>"
+ "<foreach collection='listUserAnswerRecord' item='item' open='' close='' separator=';'> "
+ " update t_qb_record_201910"
+ " set answered = 0, progress = 1, answer_sheet = null, gmt_update = #{item.gmtUpdate}"
+ " <where>"
+ "<choose>"
+ "<when test='item.unionid !=null'> unionid=#{item.unionid}</when>"
+ "<otherwise> openid= #{item.openid} </otherwise>"
+ "</choose>"
+ " and goods_id = #{item.goodsId} and charpter_id = #{item.charpterId} and type = #{item.type}"
+ "</where>"
+ "</foreach>"
+ "</script>")
Integer deleteUserAnswerSheet(@Param("listUserAnswerRecord") List<UserAnswerRecordNew> listUserAnswerRecord);
mybatis 注解批量更新、插入
//批量插入
@Insert({
"<script>",
"insert into table(column1, column2) values ",
"<foreach collection='userLists' item='item' index='index' separator=','>",
"(#{item.column1}, #{item.column2} )",
"</foreach>",
"</script>"
})
public int insertUsers(@Param(value="userLists") List<User> userLists);
//批量更新
@Update({
"<script>",
"<foreach collection='userLists' item='item' index='index' separator=';'>",
"update table b",
"set b.column1= #{item.column1},b.column2= #{item.column2} where b.column3= #{item.column3}",
"</foreach>",
"</script>"
})
public int updateUser(@Param(value="userLists") List<User> userLists);
collection:你傳來(lái)的集合
item:里面的類(lèi)
index:就是for循環(huán)的i
separator:間隔符
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于java數(shù)組與字符串相互轉(zhuǎn)換的問(wèn)題
這篇文章主要介紹了java數(shù)組與字符串相互轉(zhuǎn)換的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10
深入理解Java線程池從設(shè)計(jì)思想到源碼解讀
這篇文章主要介紹了深入理解Java線程池從設(shè)計(jì)思想到源碼解讀,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Java設(shè)計(jì)模式中的建造者(Builder)模式解讀
這篇文章主要介紹了Java設(shè)計(jì)模式中的建造者(Builder)模式解讀, 建造者模式是一種創(chuàng)建對(duì)象的設(shè)計(jì)模式,它通過(guò)將對(duì)象的構(gòu)建過(guò)程分解為多個(gè)步驟,并使用一個(gè)建造者類(lèi)來(lái)封裝這些步驟,從而使得對(duì)象的構(gòu)建過(guò)程更加靈活和可擴(kuò)展,需要的朋友可以參考下2023-10-10
springmvc json類(lèi)型轉(zhuǎn)換錯(cuò)誤解決方案
這篇文章主要介紹了springmvc json類(lèi)型轉(zhuǎn)換錯(cuò)誤解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
mybatis和mybatis-plus同時(shí)使用的坑
本文主要介紹了mybatis和mybatis-plus同時(shí)使用的坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
Java動(dòng)態(tài)顯示文件上傳進(jìn)度實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了Java動(dòng)態(tài)顯示文件上傳進(jìn)度實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
Java并發(fā)之原子性 有序性 可見(jiàn)性及Happen Before原則
一提到happens-before原則,就讓人有點(diǎn)“丈二和尚摸不著頭腦”。這個(gè)涵蓋了整個(gè)JMM中可見(jiàn)性原則的規(guī)則,究竟如何理解,把我個(gè)人一些理解記錄下來(lái)。下面可以和小編一起學(xué)習(xí)Java 并發(fā)四個(gè)原則2021-09-09
圖解Springboot集成七牛云并實(shí)現(xiàn)圖片上傳功能過(guò)程
在實(shí)際開(kāi)發(fā)中 ,基本都會(huì)有應(yīng)用到文件上傳的場(chǎng)景,但隨著或多或少的需求問(wèn)題,之前有在springboot上用過(guò)七牛云實(shí)現(xiàn)圖片上傳,今天因?yàn)槟承┰蛴种匦率褂昧讼缕吲T埔虼讼肟偨Y(jié)下七牛云2021-11-11

