在MyBatis中,可以使用useGeneratedKeys
参数来获取自动生成的主键。
首先,在插入语句中设置useGeneratedKeys
为true
,并指定keyProperty
来指定接收主键的属性名。例如:
<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user (username, password) VALUES (#{username}, #{password})
</insert>
然后,在对应的Mapper接口方法中,定义一个包含主键属性的参数,MyBatis会自动将生成的主键值赋给该参数。例如:
public interface UserMapper {
void insertUser(User user);
}
User user = new User();
user.setUsername("test");
user.setPassword("123456");
userMapper.insertUser(user);
// 获取自动生成的主键值
Long id = user.getId();
通过以上配置和代码,MyBatis会自动将生成的主键值赋给id
属性,可以通过user.getId()
获取自动生成的主键值。