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之后执行
- 否则报错
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论