mybatis-plus mapper中foreach循环操作代码详解(新增或修改)
时间:2021-04-22 09:14:33|栏目:JAVA代码|点击: 次
.循环添加
接口处:

分别是 void 无返回类型 ;有的话是(resultType)返回类型,参数类型(parameterType) list ,
如:


在mapper文件中分别对应ID,参数类型和返回类型。
循环处理,如下:
<insert id="insertPack" parameterType="java.util.List">
insert into t_ev_bu_pack
(
PACK_CODE,
BIN,
PACK_PROD_TIME,
CREATED_DATE,
CREATED_BY,
BATTERY_CLASS,
SUPPLIER_NAME,
TERMINAL_USER
)
values
<foreach collection="list" item="item" index="index" open="" close="" separator=",">
(
#{item.PACK_CODE},
#{item.BIN},
#{item.PACK_PROD_TIME},
now(),
#{item.CREATED_BY},
#{item.BATTERY_CLASS},
#{item.SUPPLIER_NAME},
#{item.TERMINAL_USER}
)
</foreach>
</insert>
由于没有返回类型,只有方法ID和参数。
循环更新:

<update id="updatePack" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update t_ev_bu_pack
<trim prefix="SET" suffixOverrides=",">
<!-- BIN = #{BIN}, -->
<if test="item.TERMINAL_USER != null and item.TERMINAL_USER != ''">
TERMINAL_USER = #{item.TERMINAL_USER},
</if>
<if test="item.SUPPLIER_NAME != null and item.SUPPLIER_NAME != ''">
SUPPLIER_NAME = #{item.SUPPLIER_NAME},
</if>
<if test="item.PACK_PROD_TIME != null and item.PACK_PROD_TIME != ''">
PACK_PROD_TIME = #{item.PACK_PROD_TIME},
</if>
<if test="item.BATTERY_CLASS != null and item.BATTERY_CLASS != ''">
BATTERY_CLASS = #{item.BATTERY_CLASS},
</if>
LAST_UPDATED_TIME = now(),
LAST_UPDATED_BY = #{item.LAST_UPDATED_BY}
</trim>
where PACK_CODE = #{item.PACK_CODE}
</foreach>
</update>
貌似有点区别,insert只需要循环取值就行了,update则更复杂点因为SET 后面又‘,'号分隔,这个update 是循环所有数据,每条数据都有一个ID(即根据主键ID修改所以foreach在最外层),而insert只需要循环要插入的值即可(只需要循环传入的数据即可);
上一篇:spring boot自定义log4j2日志文件的实例讲解
栏 目:JAVA代码
下一篇:用java实现斗地主发牌过程
本文标题:mybatis-plus mapper中foreach循环操作代码详解(新增或修改)
本文地址:http://www.codeinn.net/misctech/106658.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




