`

ibatis+oracle批处理无法拿到影响的记录数

阅读更多

Ibatis的SqlExecutor类里:

 public int executeBatch() throws SQLException {
      int totalRowCount = 0;
      for (int i = 0, n = statementList.size(); i < n; i++) {
        PreparedStatement ps = (PreparedStatement) statementList.get(i);
        int[] rowCounts = ps.executeBatch();
        for (int j = 0; j < rowCounts.length; j++) {
          if (rowCounts[j] == Statement.SUCCESS_NO_INFO) {
            // do nothing
          } else if (rowCounts[j] == Statement.EXECUTE_FAILED) {
            throw new SQLException("The batched statement at index " + j + " failed to execute.");
          } else {
            totalRowCount += rowCounts[j];
          }
        }
      }
      return totalRowCount;
    }

StatementList是存放sql命令的。

 

这段代码对于oracle的驱动,int[] rowCounts = ps.executeBatch();这段代码返回的永远是[-2,-2],而 Statement.SUCCESS_NO_INFO值也为-2.所以最后批处理的结果返回的影响记录数就是0了。参考:

http://mail-archives.apache.org/mod_mbox/ibatis-dev/200606.mbox/%3C23769093.1149675270958.JavaMail.jira@brutus%3E

即ibatis+oracle的驱动对于批处理返回的结果一直是0.ibatis说是oracle的驱动的bug,但是hibernate+oracle时设置一个参数就能拿到批处理影响的记录数了。参考:http://blog.csdn.net/elimago/article/details/1676516 这个我没有试过,如果真是这样,ibatis是不是也可以自己修改代码也做到这样呢@ibatis.

分享到:
评论

相关推荐

    Spring MVC+ibatis+oracle框架整合

    在"Spring MVC+ibatis+Oracle资源整合,实现简单的增删改查"的项目中,开发者可能已经创建了学生(stu)相关的实体类、Mapper接口、XML配置文件和DAO实现。例如,"stu"可能是学生表的名称,对应的实体类为Student,...

    spring+ibatis+oracle分页缓存源码

    总的来说,"spring+ibatis+oracle分页缓存源码"项目展示了如何在Spring管理的环境中,利用iBatis和Oracle数据库实现高效的数据分页和缓存策略。通过理解和实践这些技术,开发者可以构建出更加健壮、响应快速的Web...

    ibatis+oracle实例

    在IT行业中,数据库管理和持久化框架是至关重要的技术领域,而`ibatis+oracle`的组合就是这样的一个经典实例。Ibatis,一个轻量级的Java ORM(对象关系映射)框架,允许开发者将SQL语句与Java代码分离,提高了数据库...

    struts2+spring+ibatis+oracle整合的登陆系统

    这个"struts2+spring+ibatis+oracle整合的登陆系统"是一个完整的Web应用程序示例,它将这些组件融合在一起,实现了一个用户登录的功能。 首先,Struts2是基于Action的MVC框架,负责处理用户的请求并转发到相应的...

    Ibatis+Oracle(含对应数据库sql) 源码

    【标题】"Ibatis+Oracle(含对应数据库sql) 源码" 是一个学习和实践Ibatis与Oracle数据库结合使用的资源包。这个资源对于初学者来说尤其有帮助,因为它包含了一个实际项目的源代码和相应的SQL脚本,使得学习者能够...

    spring mvc + ibatis + Oracle + ajax 轻量级架构搭建及详解

    在本项目中,我们探讨的是如何使用Spring MVC、iBatis、Oracle数据库以及Ajax技术构建一个轻量级的Web应用程序架构。Spring MVC是Spring框架的一部分,主要负责处理HTTP请求和控制应用程序的流程;iBatis则是一个SQL...

    struts2+spring+ibatis+oracle+分页搜索+上传附件实例

    Struts2、Spring、iBatis以及Oracle是Java Web开发中的四大核心组件,它们共同构建了一个强大且灵活的后端架构。在这个实例中,我们将会深入探讨这些技术如何协同工作,实现分页搜索功能和上传附件操作。 1. **...

    quartz+ibatis+oracle/mysql\quartz+hibernate+oracle/mysql

    我做的是 spring + quartz+ mysql and oracle 持久层 ibatis and hibernate 项目用eclipse 导入 不同的数据库 请在数据库运行不同的SQL 脚本 用hibernate 时注意 是什么数据库 hibernate.properties 文件第一二行...

    ibatis + oracle 增删改查例子

    本示例“ibatis + oracle 增删改查例子”将向我们展示如何利用这两个工具进行基本的数据操作。 首先,`iBatis`的核心是SQL Map配置文件,它包含了SQL语句和映射规则。在`MyEclipse`中导入这个项目后,你需要找到并...

    structs + ibatis + oracle + easyUI实现系统管理

    【标题】"structs + ibatis + oracle + easyUI实现系统管理"涉及到的是一个基于Java技术栈的企业级应用开发框架的组合,用于构建系统管理功能。这个标题表明了该压缩包可能包含了一个使用Structs作为MVC框架,iBatis...

    Spring+iBatis+WebWork+oracle

    标题中的"Spring+iBatis+WebWork+Oracle"是一个经典的Java Web开发技术组合,用于构建高效、可扩展的Web应用程序。下面将详细解释这四个组件及其在开发中的作用。 1. **Spring框架**:Spring是Java领域的一个核心...

    spring mvc+ibatis+oracle单表增删改(有包)

    在本项目中,我们主要探讨的是如何利用Spring MVC、iBATIS和Oracle数据库来实现一个基本的单表操作,包括增、删、改等常见功能。Spring MVC是Spring框架的一个模块,专门处理Web应用程序的模型-视图-控制器(MVC)...

    Spring3.0+Ibatis+Oracle全注解开发详细过程

    总之,Spring 3.0+iBATIS+Oracle的组合提供了强大的功能,帮助开发者快速、高效地构建健壮的Java Web应用。通过注解,你可以实现组件的自动化管理和灵活的配置,同时利用iBATIS简化数据库访问,使得代码更加简洁,...

    struts2+spring+ibatis +oracle整合 列子

    在“struts2+spring+ibatis +oracle整合 列子”中,我们可以预期文件`s2sabatis`包含了整合这三个框架和Oracle数据库的相关配置和代码示例。可能包括以下几个方面: 1. **配置文件**:如`struts.xml`定义了Struts2...

    struts2+spring+ibatis+mysql

    "Struts2+Spring+Ibatis+MySQL" 是一个经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用程序。这个组合集成了强大的MVC(Model-View-Controller)框架Struts2、依赖注入与面向切面编程的Spring框架、...

    webwork+ibatis+spring oracle c3p0 集成框架

    【webwork+ibatis+spring oracle c3p0 集成框架】 WebWork、iBatis、Spring 和 Oracle C3P0 是四个在企业级Java应用开发中常用的组件,它们各自扮演着不同的角色,而将它们集成在一起可以构建一个高效、灵活且可...

    java struts2 + ibatis +oracle 整合简单登陆及增删改查实例

    Java Struts2、iBatis和Oracle的整合是企业级Web开发中常见的一种技术栈组合。这个实例将向我们展示如何使用这些技术实现一个基础的登录功能以及增删改查操作。下面,我们将深入探讨每个组件及其在整合过程中的作用...

    JAR包+sql+oracle+dwr+jdom+ibatis+struts2

    总结来说,这个项目可能是一个使用Struts2作为MVC框架,Oracle作为数据库,iBatis作为持久层,DWR实现异步通信,JDOM处理XML数据,而所有组件和依赖被打包成JAR文件的Java Web应用程序。这样的架构设计能够提供高效...

    Ibatis.net+ oracle 简单事例

    添加对Oracle 的引用,如Oracle.DataAccess.Client,然后将Ibatis.net 的相关配置文件和Mapper XML文件加入到项目中。使用VS2008的调试工具,可以快速测试SQL语句和业务逻辑。 【示例应用】 "IbatisTet" 可能是一个...

Global site tag (gtag.js) - Google Analytics