mybatis xml 中的批量操作
#mybatis 批量更新update foreach
1 注意:需要在连接mysql的时候在application.yml中加上 &allowMultiQueries=true 2 spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true 3 4 #注解版本 5 @Update({"<script>" + 6 "<foreach collection='grouopByTagId' item='item' index='index' open='(' close=')' separator=',' > " + 7 " update " + 8 TABLE_NAME + 9 " SET status = 2, del_reason = #{item.delReason} " + 10 " where id = #{item.id} " + 11 "</foreach>" + 12 "</script>"}) 13 14 #方式2: 15 <update id="batchUpdateQuestion" parameterType="java.util.List"> 16 <foreach collection="xuanZeBean" item="item" index="index"> 17 update choose_question_management set 18 title = #{item.title}, 19 title_id = #{item.titleId}, 20 video_id = #{item.videoId}, 21 option_type = #{item.optionType}, 22 a_option_url = #{item.optionUrlA}, 23 b_option_url = #{item.optionUrlB}, 24 c_option_url = #{item.optionUrlC}, 25 a_content_word = #{item.contentWordA}, 26 answer = #{item.answer} 27 where 1=1 and id =#{item.id}; 28 </foreach> 29 </update>
#mybatis 批量新增操作 insert foreach
1 <insert id="batchInsert" parameterType="List"> 2 insert into 3 user(user_name,phone,child_name,open_courses,open_date,expire_date,purchase_times,share_times, 4 purchase_timed,number_reports,accumulated_amount) VALUES 5 <foreach collection="users" item="user" index="index" separator=","> 6 (#{user.userName},#{user.phone},#{user.childName},#{user.openCourses},#{user.openDate},#{user.expireDate} 7 ,#{user.purchaseTimes},#{user.shareTimes},#{user.purchaseTimed},#{user.numberReports},#{user.accumulatedAmount}) 8 </foreach> 9 </insert>
#mybatis 批量删除 delete foreach
1 #dao层: 2 void deleteMoreEmp(@Param("array") List array); 3 #mybatis代码: 4 <!-- 批量删除 --> 5 <delete id="deleteMoreEmp" parameterType="int[]"> 6 <!-- delete from emp where empno in(7789,7790) --> 7 <!-- forEach : 用来循环 collection : 用来指定循环的数据的类型 可以填的值有:array,list,map item 8 : 循环中为每个循环的数据指定一个别名 index : 循环中循环的下标 open : 开始 close : 结束 separator : 数组中元素之间的分隔符 --> 9 delete from token_management where id in 10 <foreach collection="array" item="arr" index="no" open="(" 11 separator="," close=")"> 12 #{arr} 13 </foreach> 14 </delete> 15 16 #参考 https://blog.csdn.net/benxiaohai888/article/details/78564751
posted on 2021-03-16 10:07 夜空中闪闪发光的星星 阅读(112) 评论(0) 收藏 举报
浙公网安备 33010602011771号