您的位置:首页 > 其它

mybatis做insert操作的时候 怎么才能返回插入的那条数据的id?

2017-02-15 15:57 816 查看
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>
1
2
3
4
1
2
3
4

如上所示,我们在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
}
UserDao.java
public interface UserDao {
public int insertAndGetId(User user);

}
User user = new User();
user.setUserName("chenzhou");
user.setPassword("xxxx");
user.setComment("测试插入数据返回主键功能");
4000

System.out.println("插入前主键为:"+user.getUserId());
userDao.insertAndGetId(user);//插入操作
System.out.println("插入后主键为:"+user.getUserId());
输出:
Shell代码  收藏代码
插入前主键为:0
插入后主键为:15
如上所示,刚刚插入的记录主键id为15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: