mybatis中批量增、删、改的SQL语句

1.批量增

<insert id="insertBatch" parameterType="java.util.List">
	insert into SYS_DEPT ( 
		DEPT_ID, ORG_ID, DEPT_NAME, LEADER, IS_USED, REMARK, 
		ENTRY_PROGRAM,ENTRY_USER, MODIFY_DATE, MODIFY_PROGRAM, MODIFY_USER
	) 
	<foreach collection="list" item="dept" index="index" open="(" separator="union" close=")">
	select 
		#{dept.deptId,jdbcType=VARCHAR}, #{dept.orgId,jdbcType=VARCHAR}, #{dept.deptName,jdbcType=VARCHAR}, 
		#{dept.leader,jdbcType=VARCHAR}, #{dept.isUsed,jdbcType=DECIMAL}, #{dept.remark,jdbcType=VARCHAR}, 
		#{dept.entryProgram,jdbcType=VARCHAR}, #{dept.entryUser,jdbcType=VARCHAR}, 
		#{dept.modifyDate,jdbcType=DATE}, #{dept.modifyProgram,jdbcType=VARCHAR}, #{dept.modifyUser,jdbcType=VARCHAR}
	from dual
	</foreach>
</insert>

2.批量删

  <delete id="deleteBatch" parameterType="java.util.List">
    delete from SYS_DEPT
    where DEPT_ID IN
    <foreach collection="list" item="sd" index="index" open="(" separator="," close=")">
    	#{sd.deptId,jdbcType=VARCHAR}
    </foreach>
  </delete>

3.批量改

  <update id="updateBatch" parameterType ="java.util.List">
    <foreach collection="list" item="user" index="index" open="begin" separator=";" close=";end;">
      update SYS_USER 
      set IS_USED = #{user.isUsed}
      where USER_ID = #{user.userId}
    </foreach>
  </update>
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis,可以使用foreach标签来实现批量除操作。具体的步骤如下: 1. 在Mapper文件,编写除语句,使用foreach标签包裹要除的数据集合。例如: ``` <delete id="deleteByIds" parameterType="java.util.List"> DELETE FROM table_name WHERE id IN <foreach collection="list" item="item" index="index" open="(" close=")" separator=","> #{item} </foreach> </delete> ``` 2. 在Java代码,调用Mapper接口的对应方法来执行除操作。例如: ``` List<Integer> ids = Arrays.asList(1, 2, 3); mapper.deleteByIds(ids); ``` 通过以上步骤,就可以实现MyBatis批量除操作了。在除语句,使用foreach标签来循环遍历要除的数据集合,并将其拼接到SQL语句的IN条件。这样就可以同时除多条数据了。 [2 [3<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [mybatsi如何批量除数据](https://blog.csdn.net/rqt1013_/article/details/125494796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [mybatis实现批量除](https://blog.csdn.net/weixin_44239550/article/details/128284516)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值