mapper.xml分为两种情况,一种是数据库(如MySQL,SQLServer)支持auto-generated key field,另一种是数据库(如Oracle)不支持auto-generated key field的。
第一种: 数据库(如MySQL,SQLServer)支持auto-generated key field的情况
<insert id="add" parameterType="Student" useGeneratedKeys="true" keyProperty="id">
insert into Student(name, age) values(#{name}, #{age})
</insert>
第二种: 数据库(如Oracle)不支持auto-generated key field的情况 order必须是before 此时的ID已经放入Student对象里 可以直接使用
<insert id="add" parameterType="Student">
<selectKey keyProperty="id" resultType="Integer" order="BEFORE">
select stu_id_seq.nextval from dual
</selectKey>
insert into Student(id, name, age) values(#{id}, #{name}, #{age})
</insert>