Mybatis + Mysql插入后获取主键id
我尝试刚才插入就获取主键id变成了null,因为是自动自增id。使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增id。
mysql插入:
insert into user (username,password) VALUES ('zyl','123');
select last_insert_id();
先看插入的配置文件:
在insert的标签里加两个属性:useGeneratedKeys="true"和keyProperty="id",这个keyProperty的id就是我们要返回的主键id
<insert id="addUser" useGeneratedKeys="true" keyProperty="id" parameterType="User">
INSERT INTO user_member (username,password,email) VALUE (
#{username},
#{password}
</insert>
domain实体类:
public class User {
private Long id; //用户ID
private String username; //用户名
private String password; //密码
//略getter和setter方法
}
mapper层接口:
public void addUser(User user);
service层对于插入语句的调用:
public void addUser (User user) {
userMapper.addUser(user);
System.out.println(user.getId());
}