ibatis应对批量update

开发 后端
我们在做批量update的时候,如果用for循环的话,遇到打数据量的时候效率很低。其实,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的用法就是这么简单,但是其工作的原理还没搞懂,希望大家指点。

 

【编辑推荐】

  1. ibatis官方提示文档中的错误
  2. ibtis配置之添加ibatis Dao支持
  3. 探索的ibatis DAO事务管理模块
  4. ibatis DAO入门进阶宝典
  5. ibtis了解iBatis.Net中的ResultMap
责任编辑:桑丘 来源: eNet硅谷动力
相关推荐

2024-09-25 08:22:06

2009-07-16 09:56:32

什么是iBATIS

2009-07-15 15:47:49

iBATIS是什么

2009-07-21 11:12:00

iBATIS配置

2009-07-17 10:32:45

iBATIS MapB

2009-07-15 17:19:31

iBATIS Ecli

2009-07-16 11:21:19

ibatis主键自动生成

2009-07-22 10:03:11

iBATIS Resu

2009-07-16 17:01:32

ibatis dao

2009-09-21 16:56:14

Hibernateibatis

2009-07-16 09:14:26

iBATIS DAO

2009-07-20 18:00:16

iBATIS DAO事

2009-07-15 17:58:07

iBATIS 动态映射

2009-07-22 10:42:59

iBATIS Cach

2009-07-24 17:20:59

iBatis配置

2009-07-15 11:43:13

<iterate>标签

2009-07-16 10:23:30

iBATIS工作原理

2009-07-15 11:26:25

ibatis插件

2009-07-17 17:05:44

iBATIS缓存cacheModel

2009-07-15 13:11:25

ibatis动态查询
点赞
收藏

51CTO技术栈公众号