您的位置:首页 > 其它

ssm 两表添加,附表如何获得主表自动生成的主键ID

2017-12-30 11:37 501 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: