Mybatis的批量添加和批量更新

1.mybatis的批量添加insert的写法

1.1:<insert  id="对应接口名" parameterType=""> parameterType 可以是List,可以是Map,也可以是实体类。

1.1.2:当parameterType是List时collection就等于list,item是别名

1.1.3当parameterType是实体的时

1.1.4实体类写法

private Integer fiag;
private boolean addOrEditflag = false;
private List<house> objs = new ArrayList<>();

1.1.6mapper接口

int add(houseObjList listobj); 

1.1.7xml的写法

<insert id="add" parameterType="entity.houseObjList">
		INSERT INTO zhcc_production 
			(
			GUID,
			CNAME,
			CCODE,
			CREATEUSER
			)  VALUES
			<foreach collection="objs" item="itme" index="index" separator=",">
				(
				(select  replace(uuid(),'-','') AS GUID),
				#{itme.cname},
				#{itme.ccode},
				#{createuser},
		                #{createdate}
				)
			</foreach>
	</insert>

注意:在实体类中private List<house> objs = new ArrayList<>();  是批量添加的时候,在实体中封装了一个list集合,集合的泛型是一个实体,其他的数据是单一数据。

2:mybatis的update批量更新

2.1实体类的写法与insert的写法相同

<update id="update" parameterType="entity.House">
	UPDATE region a
		INNER JOIN (
		   SELECT
			CUSED,
			guid
			  FROM
			  region
			   WHERE GUID IN
			  <foreach collection="outList" item="item" index="index" open="(" close=")" separator=",">
			     #{item.egion}
			</foreach>
			) b
			SET a.CUSED = b.CUSED-1
			WHERE a.GUID IN
			<foreach collection="outList" item="item" index="index" open="(" close=")" separator=",">
			  b.guid
			</foreach>
java/Mysql群:660677098
期待您的加入

版权声明:本文为博主原创文章,未经博主允许不得转载


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值