マイバティスで自動生成された主キーを取得する
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()を使用して自動生成された主キーの値を取得することができます。