`
marb
  • 浏览: 409955 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MyBatis返回插入的主键ID

阅读更多

需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。

 

方法:在mapper中指定keyProperty属性,示例如下:

Xml代码  收藏代码
  1. <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">  
  2.     insert into user(userName,password,comment)  
  3.     values(#{userName},#{password},#{comment})  
  4. </insert>  

 如上所示,我们在insert中指定了keyProperty="userId",其中userId代表插入的User对象的主键属性。

 

User.java

Java代码  收藏代码
  1. public class User {  
  2.     private int userId;  
  3.     private String userName;  
  4.     private String password;  
  5.     private String comment;  
  6.       
  7.     //setter and getter  
  8. }  

 UserDao.java

Java代码  收藏代码
  1. public interface UserDao {  
  2.   
  3.     public int insertAndGetId(User user);  
  4.   
  5. }  

 测试:

Java代码  收藏代码
  1. User user = new User();  
  2. user.setUserName("chenzhou");  
  3. user.setPassword("xxxx");  
  4. user.setComment("测试插入数据返回主键功能");  
  5.   
  6. System.out.println("插入前主键为:"+user.getUserId());  
  7. userDao.insertAndGetId(user);//插入操作  
  8. System.out.println("插入后主键为:"+user.getUserId());  

 输出:

Shell代码  收藏代码
  1. 插入前主键为:0  
  2. 插入后主键为:15  

 查询数据库:

 

如上所示,刚刚插入的记录主键id为15

分享到:
评论

相关推荐

    Mybatis返回插入主键id的方法

    主要介绍了 Mybatis返回插入主键id的方法,在文章底部给大家补充了Mybatis中insert中返回主键ID的方法,非常不错,需要的朋友可以参考下

    MyBatis在insert插入操作时返回主键ID的配置(推荐)

    主要介绍了MyBatis在insert插入操作时返回主键ID的配置的相关资料,需要的朋友可以参考下

    MyBatis+MySQL 返回插入的主键ID的方法

    本篇文章主要介绍了MyBatis+MySQL 返回插入的主键ID的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    mybatis插入与批量插入返回ID的原理详解

    主要给大家介绍了关于mybatis插入与批量插入返回ID的原理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mybatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    最新Mybatis插入数据返回自增主键详细配置

    Mybatis插入数据返回自增主键 Mybatis插入数据以后只会返回影响的数据库行数,如果是插入一条数据成功则返回1,失败返回零,插入多条返回插入成功的数量。 通过注解或者xml配置无法直接返回自增的主键。Mybatis插入...

    详解Java MyBatis 插入数据库返回主键

    主要介绍了详解Java MyBatis 插入数据库返回主键,有兴趣的可以了解一下。

    spring-boot-mybatis-interceptor:mybatis自定义主键插件,通过该插件生成分布式唯一雪花ID作为数据库表的主键

    该插件项目可以直接运用于实际开发中,作为分布式数据库表主键ID使用。 一、项目概述 1、项目背景 在生成表主键ID时,我们可以考虑主键自增 或者 UUID,但它们都有很明显的缺点 主键自增:1、自增ID容易被爬虫遍历...

    详解mybatis plus使用insert没有返回主键的处理

    最初的时候是使用mybatis,后来升级到mybatis plus。按照mp的官网介绍,使用mp的insert方法,对于自增的数据库表,mp会把主键写入回实例的对应属性。但实际操作起来,却没有主键。 entity 类设置如下: @TableName...

    springmybatis

    创建用户表,并插入一条测试数据 程序代码 程序代码 Create TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) DEFAULT NULL, `userAge` int(11) DEFAULT NULL, `userAddress` ...

    mybatis-plus id主键生成的坑

    主要介绍了mybatis-plus id主键生成的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    spring boot整合mybatis利用Mysql实现主键UUID的方法

    主要给大家介绍了关于spring boot整合mybatis利用Mysql实现主键UUID的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    MybatisPlus中插入数据获取主键值示例代码

    MybatisPlus中插入数据获取主键值示例代码MybatisPlus中插入数据获取主键值示例代码

    mybatis-3.3.1.jar

    mybatis3.3.1支持批量插入后返回主键ID,mybatis3.3.1支持批量插入后返回主键ID,

    浅谈MyBatis-Plus学习之Oracle的主键Sequence设置的方法

    主要介绍了浅谈MyBatis-Plus学习之Oracle的主键Sequence设置的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    使用mybatis-plus的insert方法遇到的问题及解决方法(添加时id值不存在异常)

    主要介绍了使用mybatis-plus的insert方法遇到的问题及解决方法(添加时id值不存在异常),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    MyBatis-Plus(基于springboot)直接上手

    id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', PRIMARY ...

    CMEU代码生成器

    生成dao层接口(查询全部信息,通过ID查询信息,插入全部属性,插入不为空的属性,通过ID更新全部属性,通过ID更新不为空的属性,通过Assist更新全部属性,通过Assist更新不为空的属性,通过ID删除信息,通过Assist删除信息);...

    带有lombok的可以自定义插件、方法的mybatis自动化代码生成器

    带有lombok的可以自定义插件、方法的mybatis自动化代码生成器。 包含方法:deleteByPrimaryKey(按主键删除) Insert 插入单个, insertSelective 插入所选择的, selectByPrimaryKey 按主键选择 ...

    mybatis_plu.rar

    利用MybatisPlu和Freemarker实现自动生成对数据库单表的CRUD所有接口,直接生成代码就可以和前段联调,包含功能 1、查询所有 2、条件查询(带分页的) ...5、根据主键删除,根据条件删除,根据ID批量删除

    Mybatis-Learning:学习mybatis的demo与总结

    如何在插入数据后返回主键id信息,这个在实际开发中比较多见。 7.(七)Mybatis如何知道增删改是否成功执行 增删改查之后,需要返回执行是否成功的结果,这也是一个比较实际的应用,mybatis执行之

Global site tag (gtag.js) - Google Analytics