mybatis mysql批量插入多个对象_mybatis 批量插入、批量修改多个字段、批量更新状态-Mybatis...

MySQL

一、批量插入

Mapper接口

Integer insertBatch(@Param("hyTemplates")List hyTemplates);

Mapper配置文件(xml)

INSERT INTO hy_template (ID,TEMPLATE_ID,ITEM_NAME)

VALUES

(

#{hytemplate.id,jdbcType=VARCHAR},

#{hytemplate.templateId,jdbcType=VARCHAR},

#{hytemplate.itemName,jdbcType=VARCHAR}

)

二、批量修改

MySQL 的URL配置添加 allowMultiQueries=true否则无法支持批量修改语句

// 请勿复制下面配置,例子展示,仅供参考:

jdbc:mysql:///quality_check?characterEncoding=utf8&useSSL=false&allowMultiQueries=true

Mapper接口

Integer updateBatch(@Param(value = "hytemplates")List hytemplates);

Mapper配置文件(xml)

UPDATE hy_template

TEMPLATE_ID = #{hytemplate.templateId,jdbcType=VARCHAR},

ITEM_NAME = #{hytemplate.itemName,jdbcType=VARCHAR},

ID = #{hytemplate.id,jdbcType=VARCHAR}

三、批量修改状态

Mapper接口

Integer updateBatchById(RuleBo ruleBo);

注意:我的RuleBo里面有存储一个集合:private List ruleIds; // Id集合

Mapper配置文件(xml)

UPDATE ruleBo

Status = #{status,jdbcType=VARCHAR}

ID IN

#{id,jdbcType=VARCHAR}

四、主键返回

①主键自增并返回,返回的ID会存储在organization实体类的id字段

Mapper接口

Integer insert(Organization organization);

Mapper配置文件(xml)

useGeneratedKeys="true" keyColumn="id" keyProperty="id">

SELECT LAST_INSERT_ID() AS id

INSERT INTO organization (NAME, PARENT_ID)

VALUES (#{name,jdbcType=VARCHAR}, #{parentId,jdbcType=VARCHAR})

keyProperty="id">

insert into organization (NAME,PARENT_ID)

values (#{name},#{parentId})

② 生成UUID主键并返回,返回的ID会存储在organization实体类的id字段

Mapper接口

Integer insert(Organization organization);

Mapper配置文件(xml)

order="BEFORE">

select uuid()

INSERT INTO organization(ID, NAME)

VALUES (#{id,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR})

③ 批量返回主键

8da3952f17e23cd24fa7419cb9b608aa.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值