mybatis获取批量插入的主键自增id
一、写一个实体类
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的更多相关文章
- mybatis 3 批量插入返回主键 Parameter 'id' not found
@Insert("<script>INSERT INTO scp_activity_gift (activity_id,type,gift_id,status,limit_num ...
- hao947 : Mybatis resultMap配置插入和主键自增返回 : 好947
映射配置文件 好947 <!-- type:映射实体类的数据类型 id:resultMap的唯一标识 --> <resultMap type="person" ...
- oracle批量插入带主键自增
https://blog.csdn.net/qq_37630354/article/details/82792288
- (转)MyBatis+MySQL 返回插入的主键ID
MyBatis+MySQL 返回插入的主键ID 需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法:在mapper中指定keyProperty属性,示例如 ...
- mybatis+mysql返回插入的主键,参数只是提供部分参数
mybatis+mysql返回插入的主键,参数只是提供部分参数 <insert id="insertByChannelIdOpenid" useGeneratedKeys=& ...
- mysql数据库单表只有一个主键自增id字段,ibatis实现id自增
mysql数据库单表只有一个主键自增id字段,ibatis实现id自增 <insert id="autoid"> insert into user_id ...
- myBatis获取批量插入数据的主键id
在myBatis中获取刚刚插入的数据的主键id是比较容易的 , 一般来说下面的一句话就可以搞定了 , 网上也有很多相关资料去查. @Options(useGeneratedKeys = true, k ...
- mybatis批量插入返回主键问题
今天整合mybatis时候用到返回主键问题,批量插入总是返回不了主键还报错. 记录入下: pom版本: <mybatis.version>3.2.6</mybatis.version ...
- mybatis 批量插入 返回主键id
我们都知道Mybatis在插入单条数据的时候有两种方式返回自增主键: 1.对于支持生成自增主键的数据库:增加 useGenerateKeys和keyProperty ,<insert>标签 ...
随机推荐
- linux下安装Oracle时交换空间不足的解决方法
摘:linux下安装Oracle时交换空间不足的解决方法 linux上安装Oracle时交换空间不足的解决办法 增加交换空间有两种方法: 严格的说,在系统安装完后只有一种方法可以增加swap,那就是本 ...
- centos 6.4 使用epel 源
EPEL是RHEL 的 Fedora 软件仓库,把它添上,你就可以获得 RHEL AS 的高质量.高性能.高可靠性,又需要方便易用(关键是免费)的软件包更新功能.EPEL(Extra Packages ...
- vs2013 error LNK2005 已经在***.obj中定义
错误解决办法: 方法一: 中文 项目--属性 ---连接器---输入 附加依赖项 空格Nafxcwd.lib Libcmtd.lib ...
- 蛋疼的mysql_ping()以及MYSQL_OPT_RECONNECT
From: https://www.felix021.com/blog/read.php?2102 昨天@Zind同学找到我之前的一篇blog(已经修改),里面提到了mysql_ping和MYSQL_ ...
- Log4j2在项目中的常用配置
~~~~~~~~~~~~~~~~~~~~log4j2.xml文件内容 <?xml version="1.0" encoding="UTF-8"?>& ...
- [IR] Huffman Coding
为了保证:Block中,所有的叶子在所有的中间结点的前面.Static: Huffman coding Dynamic: Adaptive Huffman 一些概念 压缩指标 • Compress a ...
- 10享元模式Flyweight
一.什么是享元模式 Flyweight模式也叫享元模式,是构造型模式之 一,它通过与其他类似对象共享数据来减小内存 占用. 二.享元模式的结构 三.享元模式的角色和职责 抽象享元角色: 所有具体享元类 ...
- Window应急响应(二):蠕虫病毒
0x00 前言 蠕虫病毒是一种十分古老的计算机病毒,它是一种自包含的程序(或是一套程序),通常通过网络途径传播,每入侵到一台新的计算机,它就在这台计算机上复制自己,并自动执行它自身的程序. 常见的 ...
- 启动mysqld报 mysql the server quit without updating pid file
查看mysql服务器的错误日志有一句: InnoDB: mmap(137363456 bytes) failed; errno 12 原来是内存不够用(需要131MB)呀,把my.cnf中的innod ...
- 基于VS Code创建Java command-line app
由于国产化的原因,公司由.NET转向了Java阵营,之后会不定期分享一些技术转型中的体会.所谓Java的command-line app其实就是.NET项目中的Console Application, ...