この記事では主にMyBatis+MySQLで挿入された主キーIDを返す方法を紹介します。興味のある方は参考にしてください。
要件: MyBatis を使用して MySQL データベースにレコードを挿入した後、レコードの自動インクリメントされた主キー値を返す必要があります。
方法: マッパーで keyProperty 属性を指定します。 例は次のとおりです:
<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User"> insert into user(userName,password,comment) values(#{userName},#{password},#{comment}) </insert>
上記のように、挿入で keyProperty="userId" を指定しました。ここで、userId は、挿入された Userオブジェクトの主キー属性を表します。
User.java
public class User { private int userId; private String userName; private String password; private String comment; //setter and getter }
UserDao.java
public interface UserDao { public int insertAndGetId(User user); }
テスト:
User user = new User(); user.setUserName("chenzhou"); user.setPassword("xxxx"); user.setComment("测试插入数据返回主键功能"); System.out.println("插入前主键为:"+user.getUserId()); userDao.insertAndGetId(user);//插入操作 System.out.println("插入后主键为:"+user.getUserId());
出力:
挿入前の主キー: 0
挿入後の主キー: 15
【関連推奨事項】
以上が新しく追加された主キー ID を返すインスタンス メソッドの Java 実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。