mybatis註解如何實現對象批量更改
mybatis註解對象批量更改
一、介紹
當有多個對象需要進行更改時,批量修改對象集合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
:你傳來的集合
item
:裡面的類
index
:就是for循環的i
separator
:間隔符
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- mybatis update更新字段的使用操作
- Mybatis動態SQL foreach批量操作方法
- 基於mybatis 動態SQL查詢總結
- MyBatis傳入參數為List對象的實現
- mybatis in查詢條件過長的解決方案