public void saveItemBatch(final List<Item> itemList, final Long catalogId) {
this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor)
throws SQLException {
executor.startBatch();
int batch = 0;
for (Item item : itemList) {
Long itemId = getId();
item.setId(itemId);
executor.insert(save, item);
Map<String, Object> map = new HashMap<String, Object>();
map.put("catalog_id", catalogId);
map.put("item_id", itemId);
map.put("score", 0);
executor.insert(saveCatalogItemLink, map);
batch++;
if (batch == 1000) {
executor.executeBatch();
batch = 0;
}
}
return executor.executeBatch();
}
});
}
分享到:
相关推荐
本文将深入探讨“ibatis批量存储”这一主题,基于给定的文件名,我们将依次解析Ibatis中的iterate标签、批处理、foreach标签以及如何在Ibatis中使用HashMap。 1. Iterate标签详解及应用: Ibatis的iterate标签主要...
### iBatis批量处理知识点详解 #### 一、iBatis基本实现 iBatis(现已更名为MyBatis)是一款优秀的持久层框架,它支持定制化SQL、存储过程及高级映射。iBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果...
ibatIS调用存储过程是数据库操作中常见的一种技术,特别是在复杂的业务逻辑处理或数据批量操作时,存储过程能够提供更高的效率和更好的性能。本文将深入探讨如何在ibatIS框架中调用存储过程,以及涉及到的相关知识点...
在本文中,我们将深入探讨iBatis框架中的“ibatis批量”功能,特别是如何利用iBatis进行批量数据处理,包括批量插入、更新和删除操作。我们将通过解析提供的文件片段来阐述这一知识点,重点放在如何使用`<iterate>`...
在传统的SQL调用中,Ibatis通过XML配置文件或注解来定义SQL语句,但在某些场景下,如复杂的业务逻辑处理、批量操作等,存储过程的使用更为合适。 存储过程是数据库中预编译的SQL语句集合,它可以包含输入、输出和...
此外,文档还特别强调了如何通过iBATIS来调用存储过程,这是数据库操作中的一个重要特性,尤其是在处理复杂逻辑或批量操作时。 **iBATIS-SqlMaps-2-Tutorial_cn.pdf** 作为教程,这份文档提供了逐步指导,帮助读者...
Ibatis提供了两种执行器:SimpleExecutor和BatchExecutor,分别对应单条SQL执行和批量SQL执行。 5. ParameterMap和ParameterHandler:它们负责参数的设置和处理,ParameterMap代表了SQL参数的映射关系,而...
- 批量操作:如何利用iBATIS进行批量插入、更新或删除。 - 动态SQL的最佳实践:分享编写高效动态SQL的技巧和注意事项。 通过深入学习这些文档,开发者可以熟练掌握iBATIS.NET,实现高效、灵活的数据访问,同时...
iBatis与Hibernate、JDO或EJB等框架有所不同,它更轻量级,专注于POJO(Plain Old Java Object,普通的Java对象)的持久化,并允许开发者直接使用SQL语句和存储过程进行数据库操作。 ### 一、iBatis基础概念 #### ...
### iBatis批量操作 #### 一、简介 在企业级应用开发中,数据库操作是不可或缺的一部分。为了提高效率和减少资源消耗,批量处理成为了一种常用的技术手段。本文将介绍如何利用iBatis框架进行批量添加、修改、删除...
通过提供的文件《IBatisNet开发使用小结.docx》和《iBatis[1].Net详细使用手册.docx》,你将能够找到具体的步骤和示例代码,这些实例将涵盖基本的CRUD操作(创建、读取、更新和删除),以及更高级的功能如存储过程...
iBatis,又称MyBatis,是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。iBatis 3.0版本(也称为MyBatis 3.0)引入了许多新特性,极大地提高了开发效率和灵活性。在本篇中,我们将以mybatis-...
Data Access Objects (DAO)是一种常见的设计模式,用于封装对数据库或其他持久化存储系统的所有访问逻辑。在ibatis中,DAO的实现通常与具体的业务逻辑层分离,通过提供一组统一的数据访问接口,使得业务逻辑层可以...
此外,对于特定数据库的功能,如存储过程或触发器,可能需要额外处理。 6. **文件[iBATIS]sql转换工具.htm** 这个HTML文件很可能是工具的使用手册或者介绍文档,包含了工具的详细功能说明、使用教程以及常见问题...
Ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀持久层框架。Ibatis可以让你直接编写原生态SQL,可以严格控制SQL执行性能,灵活度极高,尤其适合对SQL有特殊需求的项目。 ### SQL语句详解 #### 1. 删除...
DAO层的主要职责就是充当业务逻辑层和数据存储层之间的桥梁,通过调用iBATIS的API来执行预定义的SQL语句,完成数据的增删改查操作。 在"iBATIS_DAO-2.2.0.638"这个压缩包中,包含了运行和开发基于iBATIS的项目所需...
2. **Configuration**: 配置对象,存储了所有关于Ibatis的配置信息,包括数据源、映射文件、事务管理等。 3. **Mapper**: Mapper接口和Mapper XML 文件,定义了SQL操作。接口方法对应SQL的执行,XML文件中包含具体...
在这个项目中,存储过程可能被用于复杂的业务逻辑,例如批量更新或删除,或者包含多个步骤的操作,这样可以减少网络传输,提高效率。 Junit是Java的单元测试框架,它使得开发者能够编写自动化测试用例,检查代码的...
5.4 运行批量更新 90 5.5 使用存储过程 91 5.5.1 优缺点分析 92 5.5.2 IN、OUT和INOUT参数 93 5.6 小结 95 第6章 使用高级查询技术 96 6.1 在iBATIS中使用XML 96 6.1.1 XML参数 96 6.1.2 XML结果 98 6.2 用已映射...