`
霁暖阁
  • 浏览: 6200 次
社区版块
存档分类
最新评论

mybatis取Oracle序列,值相同问题处理

阅读更多
<select id="getCode" resultType="java.lang.String">
   select 'TRD'||to_char(sysdate,'yyyymmdd')||lpad(to_char(SQ_ORD_PURCHASE_ID.nextval), 5, '0') code from dual
</select>
上述mybatis代码在调用是总是获取到同一个序列的值,查询相关资料得知是mybatis的缓存问题:
加上useCache="false" flushCache="false" 属性即可:
<select id="getCode" resultType="java.lang.String" useCache="false" flushCache="false">
select 'TRD'||to_char(sysdate,'yyyymmdd')||lpad(to_char(SQ_ORD_PURCHASE_ID.nextval), 5, '0') code from dual
</select>
分享到:
评论
1 楼 Foina 2018-05-07  
哥么,你是不是写错了 flushCache=true才行的

相关推荐

    MyBatis Oracle 自增序列的实现方法

    2. 在MyBatis映射文件中使用`&lt;selectKey&gt;`标签在插入前获取序列值。 3. 将获取的序列值插入到对应的主键字段。 4. 确保`parameterType`中的对象有对应的属性来接收自增序列的值。 通过以上配置,你就可以在MyBatis...

    http接口返回json,springmvc+mybatis+oracle

    当Controller层接收到请求并处理完业务逻辑后,会调用MyBatis的Mapper方法来与Oracle数据库进行交互。 4. **Oracle数据库**: Oracle是世界上最流行的商业关系型数据库管理系统之一,以其强大的性能和高可用性而...

    mybatis+Oracle做批量导入时的坑

    总的来说,Java开发中使用MyBatis与Oracle配合进行批量导入时,关键在于如何构造正确的SQL语句以适应Oracle的特性,如使用序列生成主键,以及正确处理并发和事务。通过DAO、Service和Controller层的合理分工,可以...

    mybatis-sql-dialect

    Oracle方言主要关注于`ROWNUM`、`CONNECT BY`等Oracle特有的语法和功能,以及Oracle特有的函数和序列。MyBatis-SQL-Dialect将帮助开发者适配这些特性,使得在Oracle数据库中的SQL执行更为顺畅。 5. **DB2方言** ...

    Oracle结合Mybatis实现取表TOP 10条数据

    总结起来,Oracle结合Mybatis实现取表TOP 10条数据的关键在于理解并正确使用`ROWNUM`,以及在Mybatis中适当地处理查询条件和序列值。通过子查询和设置Mybatis的缓存属性,我们可以有效地解决这些问题,从而在Oracle...

    深入浅析mybatis oracle BLOB类型字段保存与读取

    当插入或更新BLOB字段时,MyBatis会自动处理二进制数据的序列化和反序列化。 为了从数据库中读取BLOB字段,你需要执行`get`查询并获取结果集。然后,你可以通过`ResultSet`的`getBytes()`方法获取BLOB数据,并将其...

    mybatis中oracle实现分页效果实例代码

    MyBatis中Oracle实现分页效果实例代码 MyBatis是一款流行的持久层框架,能够帮助开发者快速实现数据库交互操作。其中,分页查询是常见的数据库操作之一。下面,我们将详细介绍MyBatis中Oracle实现分页效果实例代码...

    Java使用Mybatis将数据批量插入到Oracle

    Java实现使用Mybatis将数据批量插入到Oracle数据库,并且可以使用Oracle序列来生成主键

    浅谈MyBatis-Plus学习之Oracle的主键Sequence设置的方法

    首先,Oracle Sequence是Oracle数据库提供的一种序列号生成器,它能够按照预设的步长和起始值生成唯一的数字,常用于生成主键值。在创建表时,我们并不会直接在表定义中指定主键自增,而是先创建一个Sequence,然后...

    毕业设计校园闲置物品交易系统(springboot+mybatis+oracle).zip

    【标题】"毕业设计校园闲置物品交易系统"是基于SpringBoot和MyBatis技术栈,配合Oracle数据库构建的在线交易平台。这个系统旨在为大学生提供一个便捷的途径,以解决校园内物品闲置的问题,促进资源的有效利用。通过...

    mybatisgenerator逆向工程(含注释)

    这个工具极大地简化了开发工作,尤其是当你处理大量的数据库表时。在“mybatisgenerator逆向工程(含注释)”这个主题中,我们将深入探讨如何使用MBG来生成带有注释的Java实体类,这些注释能够反映出数据库表的元...

    oracle表分区详解

    - 分区技术有助于减轻I/O瓶颈问题,尤其是在大规模数据处理场景下。 #### 三、限制 尽管表分区提供了许多优势,但也存在一些限制: - 分区表不支持所有类型的索引。例如,全局唯一索引无法跨分区创建。 - 分区表...

    Oracle + Mybatis实现批量插入、更新和删除示例代码

    这里,我们先通过Oracle的序列`seq_LA_T_CONTACT_RECORD`获取自增ID,然后通过遍历集合,将每个元素转化为单独的INSERT语句,用UNION ALL连接起来。 2. **利用存储过程**: 另一种方法是编写Oracle的存储过程,...

    Struts2.3.6+MyBatis3.2.7+jasperreports 5.6.0+oracle 10g的集成实例

    Struts2.3.6+MyBatis3.2.7+jasperreports 5.6.0+Oracle 10g的集成实例涉及到的主要技术组件包括: 1. **Struts2.3.6**:这是一个基于MVC设计模式的Java Web框架,用于构建企业级的Web应用程序。它提供了一种灵活的...

    Oracle+Mybatis的foreach insert批量插入报错的快速解决办法

    这里使用了`&lt;selectKey&gt;`标签来获取序列的下一个值,确保每个插入的记录都有唯一的主键。 总之,当在Oracle数据库中使用MyBatis进行批量插入时,务必注意适应Oracle的特定语法,如使用`INSERT ALL`,避免使用MySQL...

    mybatis反向生成工具-oracle,mysql版

    这两个版本可能在生成的代码中对数据库特性的处理上有所不同,例如数据类型映射、序列(Oracle)与自增ID(MySQL)的处理等。 Mybatis反向生成工具的核心功能包括: 1. **模型生成**:根据数据库表生成对应的Java...

    MyBatis 工作原理和详解

    对于非自增主键,如UUID或Oracle序列,也需要特殊处理。 - 更新用户信息,MyBatis允许开发者根据需要更新特定字段。 - 删除用户,可以通过ID或其他条件执行删除操作。 此外,MyBatis还支持日志记录,如集成Log4j...

    mybatis Generator所需jar包

    6. **其他依赖**:mybatis-generator文件替换可能涉及到对旧版本的替换,这可能是因为新版本修复了某些问题或者引入了新的功能。因此,确保使用最新或兼容版本的JAR包是很重要的。 使用MyBatis Generator时,你需要...

    eclipse+Oracle+Mybatis源代码(可用)

    项目中,Mybatis用于连接Oracle数据库,执行SQL语句,并处理结果集。 4. **Java编程**:Java是该项目的主要编程语言,用于实现业务逻辑。例如,编写DAO(Data Access Object)层来处理与数据库的交互,Service层...

Global site tag (gtag.js) - Google Analytics