您的位置:首页 > 数据库 > Oracle

mybatis配置oracle的主键自增长

2016-03-16 12:26 507 查看
mysql、sqlserver等数据库本身带有主键自增长像auto_increment的功能可以直接使用

useGeneratedKeys=”true”来实现,比如下面的配置
<insert id=”add” useGeneratedKeys=”true” keyProperty=”id” parameterType=”Auth”>
insert into s_user_auth (id,user_id, user_name) values(#{id},#{userid},#{username})
</insert>


而oracle则不行,oracle主键自增长是通过sequence实现的,所以这种方式就不可以了,需要使用:

1.先通过sequence查出来id,再insert
<insert id=”add” useGeneratedKeys=”false” keyProperty=”id” parameterType=”Auth”>
<selectKey resultType=”String”  keyProperty=”id” order=”BEFORE”>
select yoursequence.nextval as id from dual
</selectKey>
insert into s_user_auth (id,user_id, user_name) values(#{id},#{userid},#{username})
</insert>


2.直接insertsequence.nextval,如下
<insert id=”add” useGeneratedKeys=”false” keyProperty=”id” parameterType=”Auth”>
insert into s_user_auth (id,user_id, user_name) values(yoursequence.nextval,#{userid},#{username})
</insert>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: