`

ibatis 批量操作数据

 
阅读更多
public void batchUpdate( final String statementName, final List list) {
       try {
           if (list != null ) {
              this .getSqlMapClientTemplate().execute( new SqlMapClientCallback() {
                  public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
                     executor.startBatch();
                     for ( int i = 0, n = list.size(); i < n; i++) {
                         executor.update(statementName, list.get(i));
                     }
                     executor.executeBatch();
                     return null ;
                  }
              });
           }
       } catch (Exception e) {
           if ( log .isDebugEnabled()) {
              e.printStackTrace();
              log .debug( "batchUpdate error: id [" + statementName + "], parameterObject [" + list + "].  Cause: " + e.getMessage());
           }
       }

    }
    public void batchInsert( final String statementName, final List list) {
       try {
           if (list != null ) {
              this .getSqlMapClientTemplate().execute( new SqlMapClientCallback() {
                  public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
                     executor.startBatch();
                     for ( int i = 0, n = list.size(); i < n; i++) {
                         executor.insert(statementName, list.get(i));
                     }
                     executor.executeBatch();
                     return null ;
                  }
              });
           }
       } catch (Exception e) {
           if ( log .isDebugEnabled()) {
              e.printStackTrace();
              log .debug( "batchInsert error: id [" + statementName + "], parameterObject [" + list + "].  Cause: " + e.getMessage());
           }
       }

    }
    public void batchDelete( final String statementName, final List list) {
       try {
           if (list != null ) {
              this .getSqlMapClientTemplate().execute( new SqlMapClientCallback() {
                  public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
                     executor.startBatch();
                     for ( int i = 0, n = list.size(); i < n; i++) {
                         executor.delete(statementName, list.get(i));
                     }
                     executor.executeBatch();
                     return null ;
                  }
              });
           }
       } catch (Exception e) {
           if ( log .isDebugEnabled()) {
              e.printStackTrace();
              log .debug( "batchDelete error: id [" + statementName + "], parameterObject [" + list + "].  Cause: " + e.getMessage());
           }
       }


    }
分享到:
评论

相关推荐

    ibatis应对批量update

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

    ibatis批量存储

    总结来说,Ibatis批量存储涉及到iterate和foreach标签的使用,以及批处理的策略,它们都是为了更高效地处理大量数据。同时,HashMap的使用则为传递复杂参数提供了便利。熟练掌握这些知识点,可以有效地优化数据库...

    ibatis批量处理

    ### iBatis批量处理知识点详解 #### 一、iBatis基本实现 iBatis(现已更名为MyBatis)是一款优秀的持久层框架,它支持定制化SQL、存储过程及高级映射。iBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果...

    ibatis的批量插入DAO实例

    通过以上步骤,我们就完成了Ibatis批量插入的DAO实例。在实际项目中,根据业务需求可能需要对SQL语句进行优化,如开启或关闭数据库的自动提交,或者调整批处理的大小以平衡性能和内存消耗。此外,Ibatis还支持使用`...

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

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

    ibatis 批量 增删改查

    在Ibatis中,批量操作提供了更高效、更灵活的方式处理大量数据。理解并熟练应用这些技巧,能显著提升应用程序的性能和可维护性。在实际项目中,根据具体需求选择合适的批量操作策略,并合理优化,可以大大降低系统...

    ibatis list

    ### iBatis批量操作:`&lt;iterate&gt;`标签的使用 `&lt;iterate&gt;`标签是iBatis中用于循环遍历集合的一种机制,它允许你在SQL语句中动态生成参数列表,这对于批量操作(如批量插入、更新或删除)尤为重要。该标签支持多种...

    ibatis批量删除的方法.docx

    在使用iBatis进行数据操作时,批量删除是常见的需求之一。iBatis是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在配置文件中,提供了灵活的映射机制,使得Java对象与数据库之间的交互更加便捷。在iBatis中...

    iBatis操作

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

    IBatis.NET开发文档

    - 批量操作:如何利用iBATIS进行批量插入、更新或删除。 - 动态SQL的最佳实践:分享编写高效动态SQL的技巧和注意事项。 通过深入学习这些文档,开发者可以熟练掌握iBATIS.NET,实现高效、灵活的数据访问,同时...

    ibatis api,ibatis文档,ibatis说明文档

    Ibatis提供了两种执行器:SimpleExecutor和BatchExecutor,分别对应单条SQL执行和批量SQL执行。 5. ParameterMap和ParameterHandler:它们负责参数的设置和处理,ParameterMap代表了SQL参数的映射关系,而...

    ibatis官方中文文档

    此外,文档还特别强调了如何通过iBATIS来调用存储过程,这是数据库操作中的一个重要特性,尤其是在处理复杂逻辑或批量操作时。 **iBATIS-SqlMaps-2-Tutorial_cn.pdf** 作为教程,这份文档提供了逐步指导,帮助读者...

    ibatis批处理.doc

    - **性能优化**:批量操作的数据量不宜过大,避免一次性加载过多数据导致内存压力,同时应合理调整数据库的批处理大小设置,以平衡性能和资源消耗。 - **事务隔离级别**:根据业务需求选择合适的事务隔离级别,以...

    Ibatis.net学习和实例~

    通过提供的文件《IBatisNet开发使用小结.docx》和《iBatis[1].Net详细使用手册.docx》,你将能够找到具体的步骤和示例代码,这些实例将涵盖基本的CRUD操作(创建、读取、更新和删除),以及更高级的功能如存储过程...

    ibatis 使用手册

    此外,还会介绍如何处理结果集、执行批量操作、使用缓存机制等高级特性。 **iBatis SQL Maps** - **Select**: 用于查询数据,可以返回单个对象、列表或者Map。 - **Insert**: 插入数据,支持自动获取自增主键值。 ...

    ibatis 开发指南 2004

    13. **案例分析**:通过实际案例展示iBatis在不同场景下的应用,如CRUD操作、复杂查询、批量处理等。 14. **与其他框架集成**:探讨如何将iBatis与Spring、Hibernate等其他框架集成,构建更强大的企业级应用。 这...

    Ibatis所有的包

    总结起来,Ibatis(MyBatis)作为一个轻量级的ORM框架,极大地简化了Java应用中的数据访问层开发,通过灵活的配置和映射机制,实现了数据库操作与业务逻辑的解耦,提升了开发效率。对于开发者而言,理解和掌握Ibatis...

Global site tag (gtag.js) - Google Analytics