在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()
獲取自動生成的主鍵值。