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>标签 ...
随机推荐
- Android开发(十三)——全屏滚动与listview
Android全屏滚动使用scrollview,其中有需要采用listview进输出的内容,scrollview与listview冲突. 开始的思维是使用一个Scrollview加上一个ListVie ...
- Spatial Sound Research
Spatial Sound Research What are our goals? The basic goal of our research is to develop cost-effecti ...
- 【iCore4 双核心板_ARM】例程十七:USB_MSC实验——读/写U盘(大容量存储器)
实验方法: 1.将跳线冒跳至USB_UART,通过Micro USB 线将iCore4 USB-UART接口与电脑相连. 2.打开PUTTY软件. 3.通过读U盘转接线将U盘(或者读卡器)与iCore ...
- Android Studio下jni应用
最近在将一个小应用从eclipse开发迁移到android studio,程序中有native代码实现,在eclipse是靠Android.mk这么个mk文件来组织编译的,但到android stud ...
- [PHP] 01 - Hypertext Preprocessor
超级文本预处理语言:http://php.net/ 集成的服务器组件,它已经包含了 PHP.Apache.Mysql 等服务 PHP 7 https://www.tutorialspoint. com ...
- windows命令行(DOS批处理)添加任务计划
自动创建每周运行一次的计划任务 创建计划任务可用at,schtasks命令,schtasks提供了很多参数 命令schtasks SCHTASKS /Create [/S system [/U use ...
- IOS-一步一步教你自定义评分星级条RatingBar
本文转载至 http://blog.csdn.net/hanhailong726188/article/details/42344131 由于项目的需要,需要设计能评分.能显示评分数据的星级评分条,但 ...
- AndroidのInputFillter之按字符过滤长度,一个中文当两个字符
/** * 以Byte数的方式来实现的LengthFilter * @author bvin */ public class OneByteInputFilter implements InputFi ...
- ehcache缓存配置与参数说明
<diskStore path="java.io.tmpdir" /> <defaultCache eternal="false" maxEl ...
- ORM正向和反向查询
表结构 from django.db import models # Create your models here.class Publisher(models.Model): id = model ...