マイバティスで自動生成された主キーを取得する

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

bannerAds