mysql
mapper.xml:
第一种:设置useGeneratedKeys为true,keyProperty为实体类的属性==如下
<!-- 添加项目 -->
<insert id="addProject" useGeneratedKeys="true" keyProperty="id" parameterType="entity.Project">
insert into project values(#{id},#{projectname})
</insert>
第二种:在insert 里添加 selectKey ,属性keyProperty为实体类的属性,order在mysql里使用after表示执行完添加在执行selectKey
注:before是oracle的表示先执行== 如下
<!-- 添加项目 -->
<insert id="addProject" parameterType="entity.Project">
insert into project values(#{id},#{projectname})
<selectKey keyProperty="id" resultType="java.lang.Integer" order="AFTER" >
SELECT LAST_INSERT_ID() AS id
</selectKey>
</insert>
oracle
mapper.xml:
在insert 里添加 selectKey ,属性keyProperty为实体类的属性,order必须为before
<!-- 添加项目 -->
<insert id="addProject" useGeneratedKeys="true" keyProperty="id" parameterType="entity.Project">
insert into project values(#{id},#{projectname})
<selectKey keyProperty="id" resultType="java.lang.Integer" order="before" >
select S_Cn_ID.nextval from dual
</selectKey>
</insert>