mybatis oracle数据库实现批量插入,更新

本文介绍使用MyBatis进行数据库批量操作的方法,包括如何在DAO层实现批量更新和插入功能,以及对应的XML配置文件的详细写法。通过具体的代码示例,展示了如何利用foreach标签实现对列表数据的循环处理,适用于需要高效处理大量数据的场景。

更新

dao层

int change(@Param("listParam") List<Member> listParam);

xml文件

<update id="change" parameterType="java.util.List">
		<foreach collection="listParam" item="item" index="index"
			open="begin" close=";end;" separator=";">
			update MEMBER
			<set>
					GROUP = #{item.GROUP,jdbcType=DECIMAL}
			</set>
			where USER_ID = #{item.USER_ID,jdbcType=DECIMAL}
		</foreach>
	</update>

插入

dao层

 int insertBatch(@Param("listParam") List<Map<String, Object>> listParam);

xml文件


<insert id="insertBatch" parameterType="java.util.List">
		insert into dz (dz_id,id,p1,p2,group)
		select
		SEQ_DZ.NEXTVAL , c.id,c.p1,c.p2 ,c.group from (
		<foreach collection="listParam" item="item" index="index"
			separator="union all">
			select
			#{item.id,jdbcType=DECIMAL} id,
			#{item.p1,jdbcType=DECIMAL} p1,
			#{item.p2,jdbcType=DECIMAL} p2,
			#{item.group,jdbcType=DECIMAL} group
			from dual
		</foreach>
		)c
	</insert>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值