public Integer saveTemp(final List<Temp>temp){
int size=0;
getSqlMapClientTemplate().execute(new SqlMapClientCallback(){
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
int count=0;
for(Temp Temp:temp){
count++;
if(temp.size()%100==0){
logger.debug("执行第["+count+"]个200条数据...");
executor.insert("Temp.saveTemp",Temp);
}
}
int size=executor.executeBatch();
logger.debug("本次批量操作共执行了["+size+"]条数据...");
return null;
}
});
return size;
}
public void batchInsert(final List<Temp> temp) throws Exception{
this.getSqlMapClientTemplate().execute(new SqlMapClientCallback(){
public Object doInSqlMapClient(SqlMapExecutor executor)
throws SQLException {
executor.startBatch();
int batch = 0;
for(Temp Temp:temp){
//调用获取sequence的方法。如果没有的话就去掉这行代码。
//TreeCate.setTreeCateId(getNextId());
//参数1为:ibatis中需要执行的语句的id
executor.insert("Temp.saveTemp", Temp);
batch++;
//每500条批量提交一次。
if(batch==50000){
executor.executeBatch();
batch = 0;
}
}
executor.executeBatch();
return null;
}
});
}
分享到:
相关推荐
尽管Spring已经配置了事务管理,但在实际使用iBATIS批处理时,仍需要在代码中显式地开启和提交事务。这是因为iBATIS的批处理需要在一个事务内执行,才能确保所有操作作为一个整体执行。例如,下面的代码展示了如何在...
程序员的素养 程序员在工作中经常会遇到各式各样的问题和挑战,要想成为一名优秀的程序员,不仅需要具备扎实的技术能力,还需要有良好的职业素养。本文将围绕程序员的四大核心素养展开讨论,分别是:定位、主动、...
iBatis批处理实现方式浅析 iBatis是一个功能强大的持久层框架,提供了多种方式来实现批处理操作。批处理是指将多个SQL语句组合成一个批处理单元,然后将其执行到数据库中,以提高数据库操作的效率。在iBatis中,...
本文将深入探讨如何利用Ibatis实现一对多关系、批处理、事务管理和与Spring及Struts2的集成。 首先,让我们来看一下“一对多”关系。在数据库设计中,一对多关系很常见,比如一个用户可以有多个订单。在Ibatis中,...
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,将数据库操作与业务逻辑解耦,使得开发者可以更专注于业务逻辑的实现,而无需关心繁琐的SQL语句编写。本篇文章将深入探讨Ibatis API、文档...
1. SqlMapClient:它是iBATIS的主要接口,负责执行SQL映射和批处理操作。提供多种方法如queryForObject、queryForMap等,用于执行不同的查询或更新操作。 2. sqlmapconfig.xml:这是iBATIS的全局配置文件,包含了...
### ibatis应对批量update 在处理大量数据更新时,传统的for循环方式往往会导致效率低下。这是因为每一次循环都需要执行一次数据库连接操作,对于批量更新来说,这样的处理方式显然不够高效。为了解决这个问题,...
iBatis提供了批处理功能,可以在一次数据库连接中执行多个SQL语句,这极大地提高了处理大量数据时的性能。iBatis通过`SqlMapClient`接口提供了几个关键方法来实现批处理: 1. **`startBatch()`**:开始批处理。 2. ...
本文将深入探讨“ibatis批量存储”这一主题,基于给定的文件名,我们将依次解析Ibatis中的iterate标签、批处理、foreach标签以及如何在Ibatis中使用HashMap。 1. Iterate标签详解及应用: Ibatis的iterate标签主要...
通过合理的缓存策略、批处理和预编译SQL等手段,IBatis可以在不影响灵活性的同时提供良好的性能。 总结,IBatis .NET为.NET开发者提供了一种直观、灵活的方式来处理数据库操作。通过学习这个实例,你可以掌握如何...
8. **性能优化**:提供一些关于提高iBATIS性能的建议,如合理设计SQL、使用批处理等。 《ibatis.pdf》可能是iBATIS的官方文档或综合指南,可能包含更广泛的内容,如最佳实践、高级特性、与其他框架的集成等。 ...
1. SqlMapClient:它是iBATIS的主要接口,负责执行SQL映射和批处理操作。提供了如queryForObject、queryForMap等方法来执行查询或更新操作。 2. sqlmapconfig.xml:这是全局配置文件,定义了数据源、事务管理器等...
9. **性能优化**:通过预编译SQL语句、批处理等技术,iBATIS能够有效地提高数据库操作的性能。 总之,"ibatis jar包.zip" 提供了使用iBATIS框架进行数据库访问所需的全部组件,使得开发者能够快速地构建数据驱动的...
它提供了两种基本的执行模式:SimpleExecutor(简单执行器)和BatchExecutor(批处理执行器),前者每次执行一条SQL,后者则将多条SQL语句合并成一个批处理,提高效率。 4. **ParameterMap**与**ParameterMapping**...
4. **Executor**:执行器接口,负责SQL语句的真正执行,它根据不同的策略实现如简单执行、批处理执行、缓存等不同模式。 5. **ParameterHandler**:参数处理器,将Java对象的参数转换为SQL语句所需的参数值。 6. *...
8. **高级话题**:涵盖与iBATIS相关的高级主题,如批处理、延迟加载、自定义类型处理器、插件扩展等,提升开发者对iBATIS框架的深度理解。 9. **最佳实践**:提供实用的项目开发建议,如如何设计合理的映射文件结构...
此外,它还支持事务管理和批处理,能够很好地适应大型项目的需求。在使用Ibatis时,开发者可以根据项目的规模和需求选择不同的集成方式,如Spring框架中的Ibatis整合,实现更高级的事务管理和依赖注入。 总的来说,...
7. **批处理操作**:对于批量数据操作,iBATIS提供了批处理API,可以大大提高效率。 8. **异常处理**:iBATIS将数据库操作过程中可能出现的异常进行了封装,提供了一套统一的异常处理机制。 使用iBATIS DAO 2.2.0....
- **批处理**:对于大量数据的插入或更新操作,可以使用批处理来提高效率。 - **执行SQL语句**:通过`SqlMapClient`接口提供的方法执行SQL语句。 #### 示例代码 - **执行更新操作**:使用`update`方法执行INSERT...