支持自增主键
主键值的获取是利用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>