一、批量新增
dao层:
boolean insertBatchDelegation(Listlist);
xml层:
insert into act_delegation ( act_name ,act_key ,from_user_id ,from_user_name ,to_user_id ,to_user_name ,start_date ,end_date ,gmt_create ) values ( #{item.actName} ,#{item.actKey} ,#{item.fromUserId} ,#{item.fromUserName} ,#{item.toUserId} ,#{item.toUserName} ,#{item.startDate} ,#{item.endDate} ,now() )
另外一种写法: 特别注意separator的值,上面的方法是separator=",";下面的方法是separator=";"
spring: datasource: type: com.zaxxer.hikari.HikariDataSource driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3310/erp-zyjsgx-v2?allowMultiQueries=true
insert into act_delegation ( act_name ,act_key ,from_user_id ,from_user_name ,to_user_id ,to_user_name ,start_date ,end_date ,gmt_create ) values ( #{item.actName} ,#{item.actKey} ,#{item.fromUserId} ,#{item.fromUserName} ,#{item.toUserId} ,#{item.toUserName} ,#{item.startDate} ,#{item.endDate} ,now() )
二、批量修改(也是两种写法,同上不再展示)
dao层:
int updatePdBatch(List
xml层:
update erp_jiagongclzkc cailiaosl = ${item.cailiaosl} , xiugairid = #{item.xiugairid} , xiugairxm = #{item.xiugairxm} , xiugaisj = NOW() , xiugairbmid = #{item.xiugairbmid} , xiugairbmmc = #{item.xiugairbmmc} , xiugairgsid = #{item.xiugairgsid} , xiugairgsmc = #{item.xiugairgsmc} where cailiaobm = #{item.cailiaobm} AND chuangjianrgsid = #{item.chuangjianrgsid}
三、存在则更新,不存在则插入(也是两种写法,同上不再展示)
dao层:
int inserOrUpdateBatch(List
xml层:
INSERT INTO erp_jiagongclzkc ( fenleiid , fenleimc , cailiaoid , cailiaobm , cailiaomc , guigexh , jiliangdw , cailiaosl , beizhu , chuangjianrid , chuangjianrxm , chuangjiansj , chuangjianrbmid , chuangjianrbmmc , chuangjianrgsid , chuangjianrgsmc , xiugairid , xiugairxm , xiugaisj , xiugairbmid , xiugairbmmc , xiugairgsid , xiugairgsmc , cailiaoyl ) VALUES ( #{item.fenleiid} , #{item.fenleimc} , #{item.cailiaoid} , #{item.cailiaobm} , #{item.cailiaomc} , #{item.guigexh} , #{item.jiliangdw} , #{item.cailiaosl} , #{item.beizhu} , #{item.chuangjianrid} , #{item.chuangjianrxm} , NOW() , #{item.chuangjianrbmid} , #{item.chuangjianrbmmc} , #{item.chuangjianrgsid} , #{item.chuangjianrgsmc} , #{item.xiugairid} , #{item.xiugairxm} , NOW() , #{item.xiugairbmid} , #{item.xiugairbmmc} , #{item.xiugairgsid} , #{item.xiugairgsmc} , #{item.cailiaoyl} ) ON DUPLICATE KEY UPDATE cailiaosl = values(cailiaosl) + values(cailiaoyl) , xiugairid = values(xiugairid) , xiugairxm = values(xiugairxm) , xiugaisj = values(xiugaisj) , xiugairbmid = values(xiugairbmid) , xiugairbmmc = values(xiugairbmmc) , xiugairgsid = values(xiugairgsid) , xiugairgsmc = values(xiugairgsmc)
特别说明
ON DUPLICATE KEY UPDATE
cailiaosl = values(cailiaosl) + values(cailiaoyl)
values(***) 是指 如果数据库表中已存在新插入的这条数据 将这条旧数据的cailiaosl 更新为valuse中的数据
KEY 必须是主键或者UNIQUE 索引