mybatis中获取oracle序列
应用情景
当应用系统中使用了mybatis
并且首先需要获取序列的下一个值来完成某些功能操作
之后再进行数据的添加操作
代码
<select id="findmaxid" parametertype="pd" resulttype="java.lang.integer" usecache="false" flushcache="true" >
select app_custom_id_seq.nextval from dual
</select><sql id='app_custom_id_seq'>app_custom_id_seq.currval</sql>
<insert id="save" parametertype="pd">
<selectkey keyproperty="id" resulttype="int" order="before">
select <include refid="app_custom_id_seq" /> from dual
</selectkey>
insert into app_custom(
id,
create_name,
create_time,
alter_time,
create_username,
app_des
)values(
#{id},
#{create_name},
#{create_time},
#{alter_time},
#{create_username},
#{app_des}
)
</insert>注:
- 上面数据插入中的app_custom_id_seq为获取序列的当前值
- 不能单独执行
- 需要在获取nextval之后执行
- 否则报错
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论