MyBatis中如何获取Oracle序列
更新时间:2024年12月25日 15:05:22 作者:千叶重楼
文章介绍了在使用MyBatis时,如何通过获取序列的下一个值来完成某些功能操作,并在之后进行数据的添加操作,文中特别强调了在获取序列值后不能单独执行插入操作,否则会报错
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之后执行
- 否则报错
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
JDBC中使用Java8的日期LocalDate和LocalDateTime操作mysql、postgresql
这篇文章主要给大家介绍了关于JDBC中如何使用Java8的日期LocalDate和LocalDateTime的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。2017-09-09controller接口跳转到另一个controller接口的实现
这篇文章主要介绍了controller接口跳转到另一个controller接口的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-09-09idea如何修改文件的file is read-only问题
这篇文章主要介绍了idea如何修改文件的file is read-only问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12
最新评论