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之后执行
  • 否则报错

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用springBoot中的info等级通过druid打印sql

    使用springBoot中的info等级通过druid打印sql

    这篇文章主要介绍了使用springBoot中的info等级通过druid打印sql,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 值得收藏!教你如何在IDEA中快速查看Java字节码

    值得收藏!教你如何在IDEA中快速查看Java字节码

    开发中如果我们想看JVM虚拟机怎么编译我们的Java文件,生成字节码的,用IDEA工具就可以查看,本篇文章就给大家详细介绍,对正在学习java的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • javaweb实现简易邮件发送

    javaweb实现简易邮件发送

    这篇文章主要为大家详细介绍了javaweb实现简易邮件发送,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • springboot自帶线程池ThreadPoolTaskExecutor使用

    springboot自帶线程池ThreadPoolTaskExecutor使用

    本文主要介绍了springboot自帶线程池ThreadPoolTaskExecutor使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Java对Map进行按value排序的几种常见方法

    Java对Map进行按value排序的几种常见方法

    在日常开发中,Map 是我们经常使用的数据结构之一,尽管 Map 是按键 (key) 存储和检索数据的,但有时我们需要根据 value 进行排序,这篇博客将详细探讨如何在 Java 中对 Map 进行按 value 排序的几种常见方法,并分析它们的优缺点,需要的朋友可以参考下
    2025-03-03
  • 解决Spring boot 整合Junit遇到的坑

    解决Spring boot 整合Junit遇到的坑

    这篇文章主要介绍了解决Spring boot 整合Junit遇到的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 深入浅出理解Java Lambda表达式之四大核心函数式的用法与范例

    深入浅出理解Java Lambda表达式之四大核心函数式的用法与范例

    Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑,今天小编带你理解Lambda表达式之四大核心函数式的用法,感兴趣的朋友快来看看吧
    2021-11-11
  • 带你走进Maven的大门-最全Maven配置及集成idea工具总结

    带你走进Maven的大门-最全Maven配置及集成idea工具总结

    Maven项目对象模型(POM),是一个项目管理工具可以通过一小段描述信息来管理项目的构建,报告和文档的软件.那我们想要在IDEA中使用Maven得进行一些配置,接下来我们具体看一下是如何配置使用的,需要的朋友可以参考下
    2021-06-06
  • RecyclerChart动态属性图标联动数据动态加载详解

    RecyclerChart动态属性图标联动数据动态加载详解

    这篇文章主要为大家介绍了RecyclerChart动态属性图标联动数据动态加载详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • springcloud nacos动态线程池Dynamic tp配置接入实战详解

    springcloud nacos动态线程池Dynamic tp配置接入实战详解

    这篇文章主要为大家介绍了springcloud nacos动态线程池Dynamic tp配置接入实战详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12

最新评论