更新
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>

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

被折叠的 条评论
为什么被折叠?



