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})
③ 批量返回主键