Mybatis 常用sql之批量添加和修改
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis 常用sql之批量添加和修改相关的知识,希望对你有一定的参考价值。
参考技术A Dao层int updateByList(List list);
Mappe层
批量修改
<update id="updateByList" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" separator=";">
update jt_fin_repayment_plan
<set >
erestTotal != null" >
ORG_INTEREST_TOTAL = #item.orgInterestTotal,
</if>
<if test="item.delFlag != null" >
DEL_FLAG = #item.delFlag,
</if>
<if test="item.state != null" >
STATE = #item.state,
</if>
<if test="item.createBy != null" >
CREATE_BY = #item.createBy,
</if>
<if test="item.createTime != null" >
CREATE_TIME = #item.createTime,
</if>
<if test="item.updateBy != null" >
UPDATE_BY = #item.updateBy,
</if>
UPDATE_TIME = #NOW(),
</set>
where REPAYMENT_ID = #item.repaymentId
</foreach>
</update>
----------------------------------------------------------------------------------------------------------
dao层
//批量添加
int addList(List list);
Map层
批量添加
<insert id="addList" parameterType="java.util.List">
insert into jt_fin_adjust_rates_project_history (
ID,ADJUST_RATES_ID,PROJECT_ID,START_WHOLE,
END_WHOLE,START_WITHOUT,END_WITHOUT,PROJECT_DATE,
KEEP,AUDIT_FLAG,STATUS,REMARK,DEL_FLAG,
CREATE_BY,CREATE_TIME,UPDATE_TIME,UPDATE_BY
)
values
<foreach collection="list" separator="," item="item" index="index">
((select UUID()), #item.adjustRatesId,#item.projectId,#item.startWhole,
#item.endWhole,#item.startWithout,#item.endWithout,#item.projectDate,
#item.keep,#item.auditFlag,#item.status,#item.remark,#item.delFlag,
#item.createBy,sysdate(), #item.updateTime, #item.updateBy)
</foreach>
</insert>
注意:我的id VARCHAR类型 主键 不能递增 在这里我用的是UUID生成的
原本,想写一个批量添加,回显id但是没实现就不写了,有大佬可以补充一下
以上是关于Mybatis 常用sql之批量添加和修改的主要内容,如果未能解决你的问题,请参考以下文章
on duplicate key update 的用法说明(解决批量操作数据,有就更新,没有就新增)mybatis批量操作数据更新和添加