`
lzg406
  • 浏览: 61020 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

db2与ibatis部分更新bug

阅读更多
数据量太大,一次性更新处理,会有日志文件太小(事务日志)、临时表空间不够用等问题。

采用分批次更新。
<update id="messageDonetime" >
    UPDATE
      (
select * from  TMP_MESSAGE t where t.DONETIME IS NULL
          fetch first #value# rows only
       )
    SET DONETIME=OUTTIME
</update>
但是ibatis不能够将fetch first #value# rows only解析对,具体原因不知道,望赐教。



后改用类似oracle的rownum处理
UPDATE
(
   select * from
(
  select t.*, ROW_NUMBER() OVER() as ROW_NUM
          from TMP_MESSAGE t where t.DONETIME IS NULL
           ) as w
   where w.ROW_NUM &lt;= #dealNum#
)
SET DONETIME=OUTTIME
但是又带来新的问题,处理速度太慢,估计是最里面的select语句的原因

最后还是用fetch  first,不再从外面传值
<update id="messageDonetime" >
    UPDATE
      (
select * from  TMP_MESSAGE t where t.DONETIME IS NULL
          fetch first 5000 rows only
       )
    SET DONETIME=OUTTIME
</update>
分享到:
评论

相关推荐

    ibatis应对批量update

    ### ibatis应对批量update 在处理大量数据更新时,传统的for循环方式往往...总之,ibatis提供的批量更新功能是处理大量数据更新场景的一个强大工具,开发者应该熟练掌握并合理利用这一特性来提升应用程序的整体性能。

    ibatis 增删改查(DB2版本)

    在DB2版本中,Ibatis同样能够实现数据库的增删改查操作,大大简化了开发人员与数据库交互的工作。下面将详细阐述如何在DB2环境下使用Ibatis进行数据操作。 首先,理解Ibatis的核心概念: 1. **配置文件**:Ibatis的...

    Spring与iBATIS的集成

    Spring与iBATIS的集成 iBATIS似乎已远离众说纷纭的OR框架之列,通常人们对非常流行的Hibernate情有独钟。但正如Spring A Developer's Notebook作者Bruce Tate 和Justin Gehtland所说的那样,与其他的OR框架相比...

    ibatis总结 ibatis ibatis ibatis ibatis

    Ibatis 是一款轻量级的Java持久层框架,它允许开发者将SQL语句与Java代码分离,从而使得数据库访问更加灵活、易于维护。本篇文章将深入探讨Ibatis的核心概念、最佳实践以及与其他框架如Struts和Spring的整合。 1. ...

    ibatis入门与ibatis迭代的用法

    此外,iBatis还支持Map迭代,当查询结果中的列名与Java对象的属性不完全匹配,或者需要处理多表联查结果时,Map迭代非常有用。例如: ```java List, Object&gt;&gt; maps = sqlSession.selectList(...

    spring3.2与Ibatis整合

    Spring 3.2 与 iBatis 的整合是Java企业级开发中常见的一种技术组合,它结合了Spring的依赖注入和事务管理能力以及iBatis的SQL映射框架的灵活性。这种整合允许开发者将业务逻辑与数据访问层解耦,提高了代码的可维护...

    spring与ibatis整合集成实例

    3. **配置文件**:在整合过程中,需要配置两部分:Spring 配置文件(如 `applicationContext.xml`)和 iBATIS 配置文件(如 `sqlMapConfig.xml`)。Spring 配置文件中定义数据源、事务管理器以及 ...

    ibatis3批量插入

    通过Ibatis3xml文件配置+Mysql实现数据批量插入,原先在网上找很多,都是关于批量更新,批量插入的很少,而且其写法又完全不同,所以自己研究了一下。可供参考。另外插入时如出现内容报错,请参照my.cnf修改书库配置...

    ibatis demo,ibatis例子,ibatis示例

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得开发者能够将SQL语句与Java代码分离,从而更好地管理数据库操作。Ibatis的出现,解决了传统JDBC中手动编写SQL和结果集映射的繁琐工作,...

    ajax和ibatis的综合应用例子

    **Ajax** 是一种在不重新加载整个网页的情况下,能够更新部分网页的技术。它通过JavaScript向服务器发送异步请求,获取或提交数据,然后动态更新页面内容。Ajax的核心组件包括XMLHttpRequest对象、JavaScript事件...

    ibatis源码,ibatis源码 ibatis源码 ibatis源码

    iBatis的核心在于它的SQL映射机制,它将数据库操作与业务逻辑解耦,使得开发者可以自由地编写SQL,同时保持代码的可维护性。本文将通过分析iBatis的源码,深入探讨其设计理念和实现机制。 一、iBatis架构概述 ...

    iBatis与数据库交互

    MyBatis更加现代化,社区活跃,持续维护,而iBatis则停止了更新。 总结来说,iBatis是一个强大的数据库访问工具,它的灵活性、易用性和高效性使得开发者能更专注于业务逻辑,而不是数据库操作。通过熟练掌握iBatis...

    ibatis教程,ibatis帮助文档

    SQL Maps是iBATIS的核心,通过XML文件定义了Java对象与SQL语句之间的映射,大大减少了数据库操作的代码量。这种映射方式使得SQL语句的管理更加灵活,也更易于理解和维护。 二、iBATIS与传统JDBC的比较 iBATIS与JDBC...

    iBATIS框架源码剖析pdf第二部分

    在"iBATIS框架源码剖析pdf第二部分"中,我们将深入探讨iBATIS的核心组件、工作原理以及其实现细节。 首先,我们来了解一下iBATIS的基本架构。iBATIS由四大核心部分组成:SqlMapConfig.xml配置文件、SqlMap接口、SQL...

    freemark与ibatis动态运用与说明,程序,源代码,文档

    Freemarker与iBatis是两个在Java开发中广泛使用的开源工具,它们分别在模板引擎和数据持久化层发挥着重要作用。本资料包提供的是关于这两者的动态运用及相关的程序、源代码和文档,旨在帮助开发者更好地理解和运用这...

    iBatis开发指南和一个iBatis实例

    iBatis是一个轻量级的Java持久层框架,它提供了SQL映射框架,将SQL语句与Java代码分离,使得数据库访问更为灵活和可控。在本压缩包中,你将找到一系列关于iBatis的学习资源,包括PDF文档、实例代码等,这些都是深入...

    Spring+ibatis 保留ibatis事务的配置

    根据提供的文件信息,本文将详细解析如何在Spring与ibatis框架整合时,通过特定配置来保留ibatis事务处理机制,并实现对事务的自定义控制。文章将围绕标题、描述及部分代码片段展开讨论。 ### Spring与ibatis整合...

    ibatis api 帮助文档+IBATIS 开发文档

    **IBATIS API 帮助文档与IBATIS开发文档详解** IBATIS,一个由iBATIS公司开发的开源持久层框架,是Java世界中广泛使用的数据访问接口(DAO)工具。它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java...

Global site tag (gtag.js) - Google Analytics