Mybatis+Mysql 返回主键的值
需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。
方法:在mapper中指定keyProperty属性,示例如下:
- <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">
- insert into user(userName,password,comment)
- values(#{userName},#{password},#{comment})
- </insert>
<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">
insert into user(userName,password,comment)
values(#{userName},#{password},#{comment})
</insert>
如上所示,我们在insert中指定了keyProperty="userId",其中userId代表插入的User对象的主键属性。
User.java
- public class User {
- private int userId;
- private String userName;
- private String password;
- private String comment;
- //setter and getter
- }
public class User {
private int userId;
private String userName;
private String password;
private String comment;
//setter and getter
}
UserDao.java
- public interface UserDao {
- public int insertAndGetId(User user);
- }
public interface UserDao {
public int insertAndGetId(User user);
}
测试:
- User user = new User();
- user.setUserName("chenzhou");
- user.setPassword("xxxx");
- user.setComment("测试插入数据返回主键功能");
- System.out.println("插入前主键为:"+user.getUserId());
- userDao.insertAndGetId(user);//插入操作
- System.out.println("插入后主键为:"+user.getUserId());
User user = new User();
user.setUserName("chenzhou");
user.setPassword("xxxx");
user.setComment("测试插入数据返回主键功能"); System.out.println("插入前主键为:"+user.getUserId());
userDao.insertAndGetId(user);//插入操作
System.out.println("插入后主键为:"+user.getUserId());
输出:
- 插入前主键为:0
- 插入后主键为:15
插入前主键为:0
插入后主键为:15
查询数据库:

如上所示,刚刚插入的记录主键id为15
Mybatis+Mysql 返回主键的值的更多相关文章
- mybatis+mysql 返回主键
需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法:在mapper中指定keyProperty属性,示例如下: <insert id="i ...
- MyBatis insert返回主键(sqlserver2008)
mybatis insert返回主键(sqlserver2008) MyBatisXML配置,下面两种方式都行 方式1: <insert id="insert" para ...
- mybatis insert 返回主键
分享牛,分享牛原创.ssm整合的时候,我们操作mybatis insert 的时候,需要返回插入的主键,因为主键是自增的,这个时候怎么办呢?很简单看一下下面的代码示例: 1.1.1. 代码定义 pub ...
- Oracle 在函数或存储过程中执行一条插入语句并返回主键ID值
有时,我们需要往一张表插入一条记录,同时返回主键ID值. 假定主键ID的值都是通过对应表的SEQUENCE来获得,然后进行ID赋值 这里有几种情况需要注意: 1)如果建表语句含有主键ID的触发器,通过 ...
- mybatis 08: 返回主键值的insert操作 + 利用UUID获取字符串(了解)
返回主键值的insert操作 应用背景 图示说明 在上述业务背景下,涉及两张数据表的关联操作:用户表 + 用户积分表 传统操作:在对用户表执行完插入语句后,再次查询该用户的uid,将该uid作为外键, ...
- 深入浅出mybatis之返回主键ID
目录 添加单一记录时返回主键ID 在映射器中配置获取记录主键值 获取新添加记录主键字段值 添加批量记录时返回主键ID 获取主键ID实现原理 添加记录后获取主键ID,这是一个很常见的需求,特别是在一次前 ...
- MyBatis insert 返回主键的方法
数据库:SqlServer2005 表结构: /*==============================================================*//* Table: D ...
- mybatis insertUseGeneratedKeys 返回主键为null
package tk.mybatis.mapper.common.special; import org.apache.ibatis.annotations.InsertProvider; impor ...
- Mybatis insert返回主键ID
Mybatis insert语句书写 <insert id="insertSelective" useGeneratedKeys="true" keyPr ...
随机推荐
- 《编程导论(Java)·1.1.2 颠倒的世界(柏拉图法则)》
假设你读<编程导论(Java)·1.1.2 颠倒的世界(柏拉图法则)>感到无趣,请尝试评价这个段子. 3. Classes Classes drive me crazy. That mig ...
- activiti基础--1------------------------生成.bpmn和.png以及部署流程定义
helloworld.dbmn <?xml version="1.0" encoding="UTF-8"?> <definitions xml ...
- 使用idea2017搭建SSM框架(转发:https://www.cnblogs.com/hackyo/p/6646051.html#!comments)
步骤: 一.首先使用idea新建一个Maven webapp项目 点击Finish,第一次搭建可能会很慢,甚至可能需要VPN才能搭建成功 二.搭建目录结构 我这里列出的是搭建完了之后所有的目录和文件, ...
- ubuntu14.04 安装pip vitualenv flask
安装pip: $ apt-get install python-pip$ pip -V #查看版本 确认安装成功 安装完pip后,会发现下载的速度特别慢.按如下修改: $ vim ~/.pip/pip ...
- web框架详解之tornado 三 url和分页
一.代码目录构建 controllers :处理业务逻辑的 account:处理账户相关的 上面目录作用和内容 controllers 包 :处理业务逻辑的 account:处理账户相关的 home ...
- hd acm1013
Problem Description(数根) The digital root of a positive integer is found by summing the digits of the ...
- stdcall、cdecl详解(以及WINAPI和CALLBACK之类的宏对应什么)
转自:http://blog.csdn.net/huanjieshuijing/article/details/5822942 对_stdcall 的理解在C语言中,假设我们有这样的一个函数:int ...
- 也来谈幂等和CAS
什么是幂等? 一个方法,不管你执行多少次,保证执行的结果总是相同的.这种方法或者服务就是幂等的. 什么是CAS? CAS是Compare And Set的缩写,顾名思义,就是先比较再设置,这种方式避免 ...
- Idea_学习_06_IntelliJ IDEA 自动导入包 快捷方式 关闭重复代码提示
二.参考资料 1.IntelliJ IDEA 自动导入包 快捷方式 关闭重复代码提示
- python中的排序函数
1.sort() list类型有一个自带的排序函数sort() list.sort(cmp=None, key=None, reverse=False) 参数说明: (1) cmp参数 cmp接受一 ...