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批量操作数据更新和添加

Mybatis 实现批量插入和批量删除源码实例

Mybatis实现批量添加操作

mybatis批量添加,更新,删除(mapper.xml)

MyBatis框架动态SQL

mybatis批量添加批量删除