MyBatis+MySQL 返回插入的主键ID
2016-06-21 00:00
323 查看
需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。
方法:在mapper中指定keyProperty属性,示例如下:
Xml代码
<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
Java代码
public class User {
private int userId;
private String userName;
private String password;
private String comment;
//setter and getter
}
UserDao.java
Java代码
public interface UserDao {
public int insertAndGetId(User user);
}
测试:
Java代码
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());
输出:
Shell代码
插入前主键为:0
插入后主键为:15
查询数据库:
如上所示,刚刚插入的记录主键id为15
方法:在mapper中指定keyProperty属性,示例如下:
Xml代码
<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
Java代码
public class User {
private int userId;
private String userName;
private String password;
private String comment;
//setter and getter
}
UserDao.java
Java代码
public interface UserDao {
public int insertAndGetId(User user);
}
测试:
Java代码
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());
输出:
Shell代码
插入前主键为:0
插入后主键为:15
查询数据库:
如上所示,刚刚插入的记录主键id为15
相关文章推荐
- Ubuntu 14.04 安装mysql 5.6
- MYSQL中存储过程的创建,调用及语法
- 浅谈数据库--事务(mysql)
- MySQL查询数据表的Auto_Increment(自增id)
- mysql共享锁与排他锁
- mysql优化21条
- mysql事务、触发器、视图、存储过程、函数
- mysql常用基础操作语法(七)--统计函数和分组查询【命令行模式】
- MySQL及SQL语句笔记
- mysql管理
- mysql查找配置文件的顺序
- MySQL索引失效的几种情况
- MySQL索引失效的几种情况
- windows 上安装2个mysql 无法启动错误处理
- mysql5.7 二进制包安装
- Mysql InnoDB行锁实现方式
- 如何修改win7下mysql密码
- 内连接、左外连接、右外连接、交叉连接及其区别
- mysql忘记密码重置(mac)
- MySQL命令行导出数据库