`

iBatis对批量update的支持

阅读更多

最近遇到需要批量update数据的问题,一开始用了一个for循环去update,数据量大的时候效率很低。原因是for循环每次update一条语句,都是一次连接过程。遇到大批数据更新的时候,效率就可想而知了。在google上找了一遍,发现iBatis里有对批量update的支持,挺好的东西。

代码如下:
    final List tempList = list;
    try {
      if (List tempList != null) {
        template.execute(
            new SqlMapClientCallback() {
          public Object doInSqlMapClient(SqlMapExecutor executor) throws
              SQLException {
            executor.startBatch();
            for (int i = 0, n = tempList.size(); i < n; i++) {
              executor.update("test.batchupdate",(Map)tempList.get(i));
            }
            executor.executeBatch();
            return null;
          }
        }
        );
      }
    }
   用法就是这么简单,但是其工作的原理还没搞懂。

分享到:
评论

相关推荐

    ibatis应对批量update

    #### ibatis批量Update解决方案 ibatis提供了一套完善的批量更新机制,可以有效地解决上述问题。下面详细介绍如何利用ibatis实现高效的批量更新: 1. **准备工作**: - 首先确保你的ibatis版本支持批量更新功能。...

    ibatis list

    在本文中,我们将深入探讨iBatis框架中的“ibatis批量”功能,特别是如何利用iBatis进行批量数据处理,包括批量插入、更新和删除操作。我们将通过解析提供的文件片段来阐述这一知识点,重点放在如何使用`&lt;iterate&gt;`...

    mysql,jdbc详解,与ibatis对比。批量查询,分页处理。

    ### MySQL、JDBC详解及与iBatis对比 ...通过对MySQL的基本操作、JDBC的工作原理以及iBatis与JDBC的对比分析,我们可以更全面地理解数据库编程的关键概念和技术要点。希望本文能够帮助开发者们更加熟练地掌握这些技能。

    ibatis批量存储

    本文将深入探讨“ibatis批量存储”这一主题,基于给定的文件名,我们将依次解析Ibatis中的iterate标签、批处理、foreach标签以及如何在Ibatis中使用HashMap。 1. Iterate标签详解及应用: Ibatis的iterate标签主要...

    ibatis 批量 增删改查

    本篇文章将深入探讨Ibatis如何实现批量增删改查,以及相关的最佳实践。 首先,批量插入(Insert Batch)在Ibatis中可以通过动态SQL来实现。在映射文件中,你可以定义一个包含多个`&lt;insert&gt;`标签的SQL语句,每个`...

    ibatis 使用手册

    4. **动态SQL**: iBatis支持在XML中编写动态SQL,可以根据条件动态生成SQL语句,增加了SQL的灵活性。 5. **事务管理**: iBatis提供了事务控制功能,开发者可以自定义事务的提交和回滚。 **iBatis开发指南** 开发...

    ibatis批处理.doc

    iBATIS支持批处理功能,通过批处理可以减少与数据库的交互次数,从而提升性能。 在iBATIS中进行批处理主要有两种方式: 1. **Spring模式下的批处理** 在Spring框架中,iBATIS与Spring的事务管理相结合,可以方便...

    ibatis-2 源代码

    iBatis支持手动和自动事务管理,开发者可以通过TransactionManager来控制事务的提交和回滚。同时,它也支持Spring的声明式事务管理。 7. **插件支持** iBatis提供插件机制,通过拦截器(Interceptor)可以在SQL...

    ibatis教材大全

    **iBATIS SQL Maps** 是一个强大的持久层框架,主要用于简化Java应用程序中对关系数据库的操作。它通过使用简单的XML配置文件来实现JavaBean与SQL语句之间的映射,从而减少了大量的数据访问代码。 **SQLMap的工作...

    ibatis 3 核心包

    4. **Executor**:执行器是Ibatis执行SQL的底层实现,包括SimpleExecutor、ReuseExecutor和BatchExecutor,分别对应简单执行、重用执行和批量执行三种策略。Executor接口封装了对数据库的 CRUD 操作,提供了一种灵活...

    sqlserver Ibatis XML自动生成工具

    使用该工具生成的XML文件可以无缝集成到你的Ibatis项目中,与Java接口配合使用,实现对数据库的高效操作。在Java代码中,你只需调用对应的Mapper方法,而无需关心底层的SQL构建细节。 在标签"java"、"sqlserver"和...

    iBatis操作

    ### iBatis批量操作 #### 一、简介 在企业级应用开发中,数据库操作是不可或缺的一部分。为了提高效率和减少资源消耗,批量处理成为了一种常用的技术手段。本文将介绍如何利用iBatis框架进行批量添加、修改、删除...

    Ibatis常用sql语句

    Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让你直接编写原生态SQL,可以严格控制SQL执行性能,灵活度极高,尤其适合对SQL有特殊需求的项目。 ### SQL语句详解 #### 1. 删除...

    iBATIS-SqlMaps-2_ja.pdf

    - **事务管理**:提供对事务的支持,确保数据的一致性。 - **类加载**:处理 Java 类的加载问题,特别是当使用第三方库时。 - **批处理**:支持一次执行多条 SQL 语句,提高批量操作的性能。 - **日志记录**:提供 ...

    iBatis SQL Maps开发指南.pdf

    通过以上总结,可以看出iBatis SQL Maps是一个功能强大的框架,不仅支持灵活的SQL语句定制,还提供了丰富的配置选项和高级功能,如动态SQL、缓存机制等,使得开发者能够在保持高性能的同时,更加便捷地进行数据库...

    ibatis入门教程_ibatis入门教程_源码

    2. Executor:执行器,Ibatis的核心执行组件,根据不同的执行策略(如简单、缓存、批量)实现SQL的执行。 七、事务管理 Ibatis支持手动和自动两种事务管理方式。手动模式下,开发者需要自行开启和提交事务;自动...

    ibatis 的关系映射

    5. **批量操作**:iBatis支持批量插入、更新和删除,可以显著提高数据处理效率。通过设置`&lt;sql&gt;`标签定义可重用的SQL片段,然后在具体的`&lt;insert&gt;`, `&lt;update&gt;`或`&lt;delete&gt;`标签中引用。 6. **与Spring整合**:...

    ibatis api 英文文档

    7. **Type Handlers**:iBATIS提供了默认的类型处理器,但开发者也可以自定义类型处理器,以便对特定的数据类型进行特殊处理,比如日期格式化。 8. **Transactions**:iBATIS支持手动和自动事务管理,可以根据需求...

Global site tag (gtag.js) - Google Analytics