一、在 SQL 映射文件的 select 标签中添加 useGeneratedKeys="true" 属性与 keyProperty=" " 属性,keyProperty 的值表示的是将获取到的自增主键值赋给 JavaBean 中的某个字段。

    <!-- useGeneratedKeys 设置为 truekeyProperty 表示把获得的自增主键的值赋给 javabean 中的哪个属性,这里表示赋值给 employee 的 id 属性--><insert id="addEmp" parameterType="employee" useGeneratedKeys="true" keyProperty="id">insert into t_employee(username, gender, email) values (#{username}, #{gender}, #{email})</insert>

二、 测试,通过 javabean 的get()方法即可获得自增主键的值。

    @Testpublic void addEmpTest() throws IOException {// MyBatis 全局配置文件的路径String resource = "mybatis-config.xml";InputStream is = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);// 注意在这里设置为自动提交数据SqlSession sqlSession = sqlSessionFactory.openSession(true);EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);Employee employee = new Employee(null, "Jas", '1', "gdfg@foxmail.com");employeeMapper.addEmp(employee);System.out.println(employee.getId());}    

测试结果:

注意:sqlSessionFactory.openSession(true)方法要设置为自动提交数据,否则会获得自增主键的值,但是在数据库中不会插入数据。

MyBatis 获取数据库中自增主键值相关推荐

  1. 通过源码分析Mybatis是如何返回数据库生成的自增主键值?

    在Mybatis中,执行insert操作时,如果我们希望返回数据库生成的自增主键值,那么就需要使用到KeyGenerator对象. 需要注意的是,KeyGenerator的作用,是返回数据库生成的自增 ...

  2. datatable如何生成级联数据_通过源码分析Mybatis是如何返回数据库生成的自增主键值?...

    在Mybatis中,执行insert操作时,如果我们希望返回数据库生成的自增主键值,那么就需要使用到KeyGenerator对象. 需要注意的是,KeyGenerator的作用,是返回数据库生成的自增 ...

  3. MyBatis映射文件1(增删改、insert获取自增主键值)

    增删改 Mybatis为我们提供了<insert>.<update>.<delete>标签来对应增删改操作 在接口中写增删改的抽象方法 void addEmp(Em ...

  4. mysql linux导入csv主键,MySQL导入csv文件内容到Table及数据库的自增主键设置

    写在前面 目的是测试将csv文件内容导入到表中, 同时记录一下自增主键的设置. 测试采用MySQL8.0. 新建表customer_info如下, 未设置主键. 修改上表, 添加主键id, 并设置为自 ...

  5. 分布式数据库中全局唯一主键

    [相关文章] <分布式数据库中全局唯一主键生成策略的设计与实现> <activiti5.10解决分布式集群部署的主键问题> <分布式环境下数据库主键方案> < ...

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

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

  7. mysql自增字段不连续_MySQL中自增主键不连续之解决方案。(20131109)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天只做了一件事情,但解决了很大的问题.相信这也是令很多程序员和数据库管理员头疼的事情. 假设在一MySQL数据表中,自增的字段为id,唯一字段为abc, ...

  8. 数据库中什么是主键,什么是外键?

    数据库中什么是主键,什么是外键? 作者:不染丹心  来源:博客园  发布时间:2009-12-17 22:57  阅读:128 次  原文链接   [收藏]   这需要理清几个概念: 1)候选键: 关 ...

  9. 关于数据库中有自增主键时如何插入数据?

    这里以一张user表为例,id为自增的. CREATE TABLE `user` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `username` varc ...

最新文章

  1. WMI技术介绍和应用——查询时间信息
  2. 【译】用Fragment创建动态的界面布局(附Android示例代码)
  3. “==”和equals()的用法
  4. word2vec相似度计算_干货|文本相似度计算
  5. PytorchRuntimeError: inconsistent tensor sizes at /pytorch/torch/lib/TH/generic/THTensorMath.c:2709
  6. 51社区房间怎么用挂号器_冬季艾灸时,房间怎么排烟?
  7. C#:const 和readonly的区别
  8. 使用eclipse新建一个SWT工程
  9. Julia: 由0.3 升级到0.4 版本的变化
  10. 计算机图形学及CAD技术 微盘,计算机图形学及cad技术讲义——曲线曲面基本理论.pdf...
  11. win7计算机管理没有用户模块,Win7系统下安装ipx协议提示找不到相应的模块如何解决...
  12. “止于至善,彼岸可及”——记我在东大的这三年
  13. java无限循环小数_无限循环小数转化成分数(Java实现)
  14. 菜菜的刷题日记 | 215. 数组中的第K个最大元素
  15. redspider无法启动,并行配置不正确
  16. 【C语言学习】————操作符、关键字
  17. 风行python_Python曾是程序员的“瑞士军刀”,而如今正被慢慢取代
  18. easywechat6获取微信用户信息(基于公众号)
  19. git的安装与配置教程-超详细版
  20. ELO算法原理及实现

热门文章

  1. 【安全系列之加密算法】常用安全的加密算法
  2. uni-app——运行微信微信小程序整合uView运行错误[Cannot read property ‘mark‘ of undefined]解决方案
  3. Python——Python连接MySQL数据库
  4. CHM文件显示目录无法显示内容的解决方案
  5. BugKuCTF 加密 easy_crypto
  6. Linux——CentOS安装桌面
  7. java web如何配置ask_Javaweb新手之路之JavaWeb开发环境配置篇
  8. mybatis复杂查询环境 多对一的处理 按照结果嵌套处理和按照查询嵌套处理
  9. Java基础18(类加载、反射和动态代理)
  10. 2021暑假实习-SSM超市积分管理系统-day05笔记