一、写一个实体类

public class UserInfo {
private long userId;
private String userAccount;
private String userPassword;
private String userName;
private int userStatus;
private String userCreateDatetime;
private String userRegisterIp; public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public long getUserId() {
return userId;
} public void setUserId(long userId) {
this.userId = userId;
} public String getUserAccount() {
return userAccount;
} public void setUserAccount(String userAccount) {
this.userAccount = userAccount;
} public String getUserPassword() {
return userPassword;
} public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
} public int getUserStatus() {
return userStatus;
} public void setUserStatus(int userStatus) {
this.userStatus = userStatus;
} public String getUserCreateDatetime() {
return userCreateDatetime;
} public void setUserCreateDatetime(String userCreateDatetime) {
this.userCreateDatetime = userCreateDatetime;
} public String getUserRegisterIp() {
return userRegisterIp;
} public void setUserRegisterIp(String userRegisterIp) {
this.userRegisterIp = userRegisterIp;
}
}

二、插入的mybatis insert语句

<insert id="batchInsert" parameterType="list" keyProperty="userId" keyColumn="user_id" useGeneratedKeys="true">
insert into system_user(
user_account,
user_password,
user_name,
user_status,
user_create_datetime,
user_register_ip
) values
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.userAccount},
#{item.userPassword},
#{item.userName},
#{item.userStatus},
#{item.userCreateDatetime},
#{item.userRegisterIp}
)
</foreach>
</insert>

三、dao接口

int batchInsert(List<UserInfo> data);

然后再遍历data list里面的UserInfo实例,发现属性userId已经赋值为自增的id的值

第二种方法,单参数是map的时候。参数不是一个实体。

<!-- 添加 -->
<insert id="insert" parameterType="map" keyProperty="operlog_id" useGeneratedKeys="true">
insert into system_oper_log
(
user_account,
operlog_url,
operlog_status,
operlog_ip,
operlog_exception,
operlog_type,
operlog_before,
operlog_after
)values(
#{user_account},
#{operlog_url},
#{operlog_status},
#{operlog_ip},
#{operlog_exception},
#{operlog_type},
#{operlog_before},
#{operlog_after}
)
</insert>

然后再返回的map参数里面,返现多了一个键,叫做operlog_id

mybatis获取批量插入的主键自增id的更多相关文章

  1. mybatis 3 批量插入返回主键 Parameter 'id' not found

    @Insert("<script>INSERT INTO scp_activity_gift (activity_id,type,gift_id,status,limit_num ...

  2. hao947 : Mybatis resultMap配置插入和主键自增返回 : 好947

    映射配置文件  好947  <!-- type:映射实体类的数据类型 id:resultMap的唯一标识 -->  <resultMap type="person" ...

  3. oracle批量插入带主键自增

    https://blog.csdn.net/qq_37630354/article/details/82792288

  4. (转)MyBatis+MySQL 返回插入的主键ID

    MyBatis+MySQL 返回插入的主键ID 需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法:在mapper中指定keyProperty属性,示例如 ...

  5. mybatis+mysql返回插入的主键,参数只是提供部分参数

    mybatis+mysql返回插入的主键,参数只是提供部分参数 <insert id="insertByChannelIdOpenid" useGeneratedKeys=& ...

  6. mysql数据库单表只有一个主键自增id字段,ibatis实现id自增

    mysql数据库单表只有一个主键自增id字段,ibatis实现id自增 <insert id="autoid">        insert into user_id ...

  7. myBatis获取批量插入数据的主键id

    在myBatis中获取刚刚插入的数据的主键id是比较容易的 , 一般来说下面的一句话就可以搞定了 , 网上也有很多相关资料去查. @Options(useGeneratedKeys = true, k ...

  8. mybatis批量插入返回主键问题

    今天整合mybatis时候用到返回主键问题,批量插入总是返回不了主键还报错. 记录入下: pom版本: <mybatis.version>3.2.6</mybatis.version ...

  9. mybatis 批量插入 返回主键id

    我们都知道Mybatis在插入单条数据的时候有两种方式返回自增主键: 1.对于支持生成自增主键的数据库:增加 useGenerateKeys和keyProperty ,<insert>标签 ...

随机推荐

  1. Android遍历API (1) 动画篇——克隆动画AnimationCloning

    从我学Android开始,一直就想做一件事.就是好好把APIDemo看一遍.今天开始会抽时间把Android官方的APIDemo程序全部过一遍.主要是为了两个目的:第一,复习以前学习的API用法.第二 ...

  2. 【iCore4 双核心板_FPGA】例程十三:基于SPI的ARM与FPGA通信实验

    实验现象: 1.先烧写ARM程序,然后烧写FPGA程序. 2.打开串口精灵,通过串口精灵给ARM发送数据从而给FPGA发送数据 ,会接收到字符HELLO. 3.通过串口精灵发送命令可以控制ARM·LE ...

  3. 去除partner页面消息 自动添加关注者的功能

    某些公司希望在partner页面说些partner的坏话,可是odoo居然自动添加了partner关注,这就尴尬了.... 如果恰搭建了邮件服务器,很有可能就自动发到了客户邮箱里,等着炸锅吧.... ...

  4. composer 再centos 下的安装

    $ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer

  5. Android KK 找不到<cutils/properties.h>

    一直通过property来控制android系统的号码匹配位数,之前的项目都工作的好好的,但到了KK时,在sqlite库中引用property的相关方法,却一直编译error... 折腾了好久,发现从 ...

  6. Python 的 Magic Methods 指南(转)

    介绍 本指南是数月博客的总结.主题是魔术方法. 什么是魔术方法呢?它们是面向对象Python语言中的一切.它们是你可以自定义并添加“魔法”到类中的特殊方法.它们被双下划线环绕(比如__init__或_ ...

  7. python进行数据分析

    1.  python进行数据分析----线性回归 2. python进行数据分析------相关分析 3. python进行数据分析---python3卡方 4. 多重响应分析,多选题二分法思路 5. ...

  8. linux-centos下持续集成工具jenkins部署使用教程

    centos下准备工作: 1.安装jdk环境 2.安装maven环境(用于构建项目) 3.git客户端(用于拉取源码) 此外码云还要准备一份java源码(springboot项目) 一.安装jenki ...

  9. 负载均衡集群介绍 LVS介绍 LVS调度算法 LVS NAT模式搭建

    LVS BAT模式搭建 更改主机名: hostnamectl set-hostname centos7-three bash 准备工作 • 三台机器 • 分发器,也叫调度器(简写为dir) • 内网: ...

  10. [Object Tracking] Deep Boundary detection Tech

    AR的要点之一便是精确跟踪 From: https://zhuanlan.zhihu.com/p/26848831?refer=dlclass Boundary Detection Benchmark ...