Mybatis中批量处理

批量查询

<select id="listStudent" resultType="Student">
	SELECT <include refid="Base_Column_List"/>
	FROM student
	WHERE id IN
		<foreach collection="list" open"(" close=")" separator="," index="item">
			#{item}
		</foreach>
 </select>		

批量插入

<insert id="insertStudent" parameterType="List" keyProperty="Id" useGeneratedKeys="true"
keyColumn="id">
	INSERT INTO student
	(id,name,sex,address)
	VALUES
		<foreach collection="list" index="index" item="item" open="" close="" separator=",">
			( #{item.id},#{item.name},#{item.sex},#{item.address})
		</foreach>
  </insert>  

keyProperty=“Id”(主键) useGeneratedKeys=“true” keyColumn=“id” (主键)
写这个可以返回主键id

批量更新

<update id="updateStudent">
	UPDATE
		student
	SET
  	del_flag = 1
  WHERE id IN
  	<foreach collection="list" open="(" close=")" separator="," item="item">
  		#{item}
  	</foreach>	
</update>

批量删除

<delete id="deleteStudent" parameterType="List">
	DELETE FROM student
	WHERE id IN
		<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
				#{item}
		</foreacn>
	</delete>	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Mybatis-plus提供了方便的批量处理功能,可以通过它来实现批量新增和批量修改操作。在使用Mybatis-plus进行批量处理时,官方提供了针对id的批量修改和批量新增方法。但是有时候我们需要根据其他字段来进行操作,这时候就需要我们自己进行修改了。 对于批量修改操作,可以使用Mybatis-plus提供的方法进行操作,也可以根据项目的实际需求进行扩展。可以将需要修改的数据封装成一个列表,然后通过遍历列表的方式进行批量修改。 对于批量新增操作也是类似的,可以使用Mybatis-plus提供的方法进行操作,也可以根据项目的实际需求进行扩展。同样可以将需要新增的数据封装成一个列表,然后通过遍历列表的方式进行批量新增。 如果项目没有引用Mybatis-plus,但是仍然想进行批量操作,并且数据量较大时,可以参考Mybatis-plus的批量操作方式,在Mybatis环境下自己编写批量操作的代码。可以使用Mybatis的批量操作功能,通过编写自定义的工具类来实现批量修改和批量新增操作。 在代码,可以通过SqlSessionFactory获取SqlSession,并根据需要获取对应的Mapper。然后将需要处理的数据列表和Mapper传入自定义的方法,通过循环遍历数据列表,在每一次循环执行对应的操作。可以设置一个批处理的阈值,当达到这个阈值时,执行批处理操作。最后,在非事务环境下强制提交事务。 总结来说,Mybatis-plus提供了方便的批量处理功能,可以通过它来实现批量新增和批量修改。如果需要根据其他字段进行操作,可以自行扩展。如果项目没有引用Mybatis-plus,但仍想进行批量操作,可以参考Mybatis-plus的批量操作方式,在Mybatis环境下编写自定义的批量操作代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Mybatis-plus批量操作](https://blog.csdn.net/WayneLee0809/article/details/126424482)[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: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值