MyBatis 获取数据库中自增主键值
一、在 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 获取数据库中自增主键值相关推荐
- 通过源码分析Mybatis是如何返回数据库生成的自增主键值?
在Mybatis中,执行insert操作时,如果我们希望返回数据库生成的自增主键值,那么就需要使用到KeyGenerator对象. 需要注意的是,KeyGenerator的作用,是返回数据库生成的自增 ...
- datatable如何生成级联数据_通过源码分析Mybatis是如何返回数据库生成的自增主键值?...
在Mybatis中,执行insert操作时,如果我们希望返回数据库生成的自增主键值,那么就需要使用到KeyGenerator对象. 需要注意的是,KeyGenerator的作用,是返回数据库生成的自增 ...
- MyBatis映射文件1(增删改、insert获取自增主键值)
增删改 Mybatis为我们提供了<insert>.<update>.<delete>标签来对应增删改操作 在接口中写增删改的抽象方法 void addEmp(Em ...
- mysql linux导入csv主键,MySQL导入csv文件内容到Table及数据库的自增主键设置
写在前面 目的是测试将csv文件内容导入到表中, 同时记录一下自增主键的设置. 测试采用MySQL8.0. 新建表customer_info如下, 未设置主键. 修改上表, 添加主键id, 并设置为自 ...
- 分布式数据库中全局唯一主键
[相关文章] <分布式数据库中全局唯一主键生成策略的设计与实现> <activiti5.10解决分布式集群部署的主键问题> <分布式环境下数据库主键方案> < ...
- 最新Mybatis插入数据返回自增主键详细配置
Mybatis插入数据返回自增主键 Mybatis插入数据以后只会返回影响的数据库行数,如果是插入一条数据成功则返回1,失败返回零,插入多条返回插入成功的数量. 通过注解或者xml配置无法直接返回自增 ...
- mysql自增字段不连续_MySQL中自增主键不连续之解决方案。(20131109)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天只做了一件事情,但解决了很大的问题.相信这也是令很多程序员和数据库管理员头疼的事情. 假设在一MySQL数据表中,自增的字段为id,唯一字段为abc, ...
- 数据库中什么是主键,什么是外键?
数据库中什么是主键,什么是外键? 作者:不染丹心 来源:博客园 发布时间:2009-12-17 22:57 阅读:128 次 原文链接 [收藏] 这需要理清几个概念: 1)候选键: 关 ...
- 关于数据库中有自增主键时如何插入数据?
这里以一张user表为例,id为自增的. CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varc ...
最新文章
- WMI技术介绍和应用——查询时间信息
- 【译】用Fragment创建动态的界面布局(附Android示例代码)
- “==”和equals()的用法
- word2vec相似度计算_干货|文本相似度计算
- PytorchRuntimeError: inconsistent tensor sizes at /pytorch/torch/lib/TH/generic/THTensorMath.c:2709
- 51社区房间怎么用挂号器_冬季艾灸时,房间怎么排烟?
- C#:const 和readonly的区别
- 使用eclipse新建一个SWT工程
- Julia: 由0.3 升级到0.4 版本的变化
- 计算机图形学及CAD技术 微盘,计算机图形学及cad技术讲义——曲线曲面基本理论.pdf...
- win7计算机管理没有用户模块,Win7系统下安装ipx协议提示找不到相应的模块如何解决...
- “止于至善,彼岸可及”——记我在东大的这三年
- java无限循环小数_无限循环小数转化成分数(Java实现)
- 菜菜的刷题日记 | 215. 数组中的第K个最大元素
- redspider无法启动,并行配置不正确
- 【C语言学习】————操作符、关键字
- 风行python_Python曾是程序员的“瑞士军刀”,而如今正被慢慢取代
- easywechat6获取微信用户信息(基于公众号)
- git的安装与配置教程-超详细版
- ELO算法原理及实现
热门文章
- 【安全系列之加密算法】常用安全的加密算法
- uni-app——运行微信微信小程序整合uView运行错误[Cannot read property ‘mark‘ of undefined]解决方案
- Python——Python连接MySQL数据库
- CHM文件显示目录无法显示内容的解决方案
- BugKuCTF 加密 easy_crypto
- Linux——CentOS安装桌面
- java web如何配置ask_Javaweb新手之路之JavaWeb开发环境配置篇
- mybatis复杂查询环境 多对一的处理 按照结果嵌套处理和按照查询嵌套处理
- Java基础18(类加载、反射和动态代理)
- 2021暑假实习-SSM超市积分管理系统-day05笔记