spring JdbcTemplate 的批量更新:
1、JdbcTemplate batchUpdate(new String[]{});
一次执行多个sql语句;
2、
final List tmpList = ....;
int count = JdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter(){
public int getBatchSize() {
return tmpList.size();
}
public void setValues(PreparedStatement ps, int i)throws SQLException {
ps.setString(1, tmpList .get(i).getName());
ps.setString(2,tmpList .get(i).getCode());
ps.setString(3,tmpList .get(i).getDate());
ps.setInt(4,tmpList .get(i).getRank());
}}).length;
此方法可以批量,但是在spring里面是一条一条执行的,大批数据执行效率不佳
3、写PreparedStatement 进行批量
final List<TmpBean> tmpBeanList=...;
final String sql = ....;
int[] count = (int[]) this.pushJdbcTemplate.execute(sql, new PreparedStatementCallback(){
public Object doInPreparedStatement(PreparedStatement ps)throws SQLException, DataAccessException {
int length = stockRanList.size();
ps.getConnection().setAutoCommit(false);
for(int i=0;i<length;i++){
ps.setString(1, tmpBeanList.get(i).getName());
ps.setString(2,tmpBeanList.get(i).getCode());
ps.setString(3,tmpBeanList.get(i).getDate());
ps.setInt(4,tmpBeanList.get(i).getRank());
ps.addBatch();
}
Object o = ps.executeBatch();
ps.getConnection().commit();
ps.getConnection().setAutoCommit(true);
//如果用<aop:config> 来控制事务,需要把上一行注掉,否则会报错
return o;
}});
分享到:
相关推荐
"更新记录.docx"文件可能是项目开发过程中对SpringJdbcTemplate封装工具类的修改日志,记录了每次更新的功能改进、bug修复或性能优化等内容,这对于版本管理和问题排查非常有帮助。 通过上述分析,我们可以看到...
在Spring框架中,JdbcTemplate是用于简化数据库操作的重要工具,它是Spring JDBC模块的一部分。通过使用JdbcTemplate,开发者可以避免编写大量的重复代码,如手动管理连接、处理结果集等,从而专注于业务逻辑。本文...
当需要进行批量更新操作时,`JdbcTemplate`提供了`batchUpdate`方法,开发者需要创建自己的`BatchPreparedStatementCreator`和`BatchPreparedStatementSetter`类来处理批量参数的设置。通过`getJdbcTemplate().batch...
`JdbcTemplate`的`batchUpdate`方法就是用来实现这样的功能,它可以批量执行更新语句,如INSERT、UPDATE或DELETE。 `batchUpdate`方法的基本使用如下: ```java int[] result = jdbcTemplate.batchUpdate( ...
6. **批量操作**:JdbcTemplate还支持批量更新,使用`batchUpdate()`方法可以一次执行多条SQL更新语句,提高了性能。 7. **预编译的SQL(PreparedStatement)**:JdbcTemplate默认使用PreparedStatement,这是一个...
在本实例中,我们将探讨如何使用Spring JdbcTemplate进行基本的CRUD(创建、读取、更新、删除)操作。 首先,我们需要在Spring配置文件中定义JdbcTemplate bean。这通常通过DataSource(数据源)来完成,例如: ``...
SpringBoot JdbcTemplate批量操作是提高数据处理效率的重要手段,尤其在处理大量数据插入或更新时。JdbcTemplate作为Spring框架的一部分,提供了便捷且安全的数据库访问方式,它简化了JDBC的使用,避免了手动管理...
- `batchUpdate`:用于执行批量更新操作,提高效率。 - `call`:用于执行存储过程调用。 通过这些方法,开发者可以轻松地进行数据库操作,无需关注底层的资源管理和异常处理,从而提高了开发效率和代码质量。 总之...
包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...
包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...
在Java的Spring框架中,JdbcTemplate是一个非常重要的组件,它为数据库操作提供了简便的模板方法。在处理大量数据时,传统的分页方式可能会导致内存溢出,这时可以使用游标滚动来实现高效的分页。本篇文章将深入探讨...
`JdbcTemplate`是Spring JDBC模块的核心,它提供了一套模板方法来处理SQL语句,使代码更加简洁、健壮。 批量插入数据在处理大量数据时能显著提升性能,因为数据库通常会对批量操作进行优化。在`JdbcDaoSupport`中,...
Spring的JdbcTemplate是Spring框架中的一个核心组件,用于简化数据库操作。它提供了一种模板方法模式,抽象出常见的JDBC代码,使得开发者可以避免编写大量的重复性代码,从而更加专注于业务逻辑。本项目是对Spring ...
包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...
包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...
包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...
标题中提到的"JdbcTemplate"是Spring框架中提供的一个用于简化数据库操作的JDBC抽象库。它是对Java标准数据库编程接口JDBC的一种封装,旨在简化JDBC编程,减少样板代码,使得开发者在使用Spring框架时能够更便捷地对...
包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...
在这个“springBoot+springBatch批量处理数据demo”中,我们将探讨如何将这两个强大的工具结合在一起,实现高效的数据处理。 首先,SpringBoot的核心特性在于其自动配置,它通过`@SpringBootApplication`注解自动...
Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站