需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。
方法:在mapper中指定keyProperty属性,示例如下:
1
2
3
4
|
< 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
1
2
3
4
5
6
7
8
|
public class User { private int userId; private String userName; private String password; private String comment; //setter and getter } |
UserDao.java
1
2
3
|
public interface UserDao { public int insertAndGetId(User user); } |
测试:
1
2
3
4
5
6
7
8
|
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/yaozhiqi1905658804/article/details/70215938