MyBatis 获取自增主键 - 【005】

支持自增主键

主键值的获取是利用statement.getGenreatedKeys();
在插入语句中加入:useGeneratedKeys=“true”,使用自增主键获取主键值。
KeyProperty:指定对应的主键属性。即获取到主键值之后将值封装给JavaBean的相应属性。如:

<insert
  id="adduser"
  parameterType="com.chase.User"
    useGeneratedKeys="true"
  keyProperty="id" database="mysql">
  insert into player (uname,uage,gender)
  values(#{uname},#{uage},#{gender})
</insert>

不支持自增主键的数据库:

Oracle使用序列模拟自增,每次插入数据的主键师从序列中拿到的值。

<insert
  id="adduser"
  parameterType="com.chase.User"
    useGeneratedKeys="true"
  keyProperty="id" database="oracle">
   	<selectKey keyProperty="id" resultType="int" order="BEFORE">
   	//查询主键赋值给id,order=before:在insert之前执行
    select seq.nextval  from equ
 	 </selectKey>
  insert into player (id,uname,uage,gender)
  values(#{id},#{uname},#{uage},#{gender})
</insert>

猜你喜欢

转载自blog.csdn.net/weixin_40573194/article/details/82796982