`
zhanghongliang_cyj
  • 浏览: 50184 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸
社区版块
存档分类
最新评论

spring JdbcTemplate批量更新

阅读更多

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;
			}});
分享到:
评论

相关推荐

    SpringJdbcTemplate封装工具类

    "更新记录.docx"文件可能是项目开发过程中对SpringJdbcTemplate封装工具类的修改日志,记录了每次更新的功能改进、bug修复或性能优化等内容,这对于版本管理和问题排查非常有帮助。 通过上述分析,我们可以看到...

    使用Spring JDBCTemplate进行增删改查curd操作

    在Spring框架中,JdbcTemplate是用于简化数据库操作的重要工具,它是Spring JDBC模块的一部分。通过使用JdbcTemplate,开发者可以避免编写大量的重复代码,如手动管理连接、处理结果集等,从而专注于业务逻辑。本文...

    Spring JdbcTemplate api

    当需要进行批量更新操作时,`JdbcTemplate`提供了`batchUpdate`方法,开发者需要创建自己的`BatchPreparedStatementCreator`和`BatchPreparedStatementSetter`类来处理批量参数的设置。通过`getJdbcTemplate().batch...

    Spring JdbcTemplate.batchUpdate 例子

    `JdbcTemplate`的`batchUpdate`方法就是用来实现这样的功能,它可以批量执行更新语句,如INSERT、UPDATE或DELETE。 `batchUpdate`方法的基本使用如下: ```java int[] result = jdbcTemplate.batchUpdate( ...

    SSH笔记-Spring JdbcTemplate

    6. **批量操作**:JdbcTemplate还支持批量更新,使用`batchUpdate()`方法可以一次执行多条SQL更新语句,提高了性能。 7. **预编译的SQL(PreparedStatement)**:JdbcTemplate默认使用PreparedStatement,这是一个...

    spring jdbctemplate实例

    在本实例中,我们将探讨如何使用Spring JdbcTemplate进行基本的CRUD(创建、读取、更新、删除)操作。 首先,我们需要在Spring配置文件中定义JdbcTemplate bean。这通常通过DataSource(数据源)来完成,例如: ``...

    SpringBoot JdbcTemplate批量操作的示例代码

    SpringBoot JdbcTemplate批量操作是提高数据处理效率的重要手段,尤其在处理大量数据插入或更新时。JdbcTemplate作为Spring框架的一部分,提供了便捷且安全的数据库访问方式,它简化了JDBC的使用,避免了手动管理...

    Spring-JdbcTemplate

    - `batchUpdate`:用于执行批量更新操作,提高效率。 - `call`:用于执行存储过程调用。 通过这些方法,开发者可以轻松地进行数据库操作,无需关注底层的资源管理和异常处理,从而提高了开发效率和代码质量。 总之...

    Spring Boot中六种批量更新策略:效率对决与实测.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    Spring Boot数据库批量更新:六种方案,一场效率之战.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    jdbcTemplate分页彻底解决,使用游标滚动

    在Java的Spring框架中,JdbcTemplate是一个非常重要的组件,它为数据库操作提供了简便的模板方法。在处理大量数据时,传统的分页方式可能会导致内存溢出,这时可以使用游标滚动来实现高效的分页。本篇文章将深入探讨...

    Spring JdbcDaoSupport 批量插入数据

    `JdbcTemplate`是Spring JDBC模块的核心,它提供了一套模板方法来处理SQL语句,使代码更加简洁、健壮。 批量插入数据在处理大量数据时能显著提升性能,因为数据库通常会对批量操作进行优化。在`JdbcDaoSupport`中,...

    一个简单的spring-jdbctemplate扩展

    Spring的JdbcTemplate是Spring框架中的一个核心组件,用于简化数据库操作。它提供了一种模板方法模式,抽象出常见的JDBC代码,使得开发者可以避免编写大量的重复性代码,从而更加专注于业务逻辑。本项目是对Spring ...

    Spring Boot框架下高效批量更新实践.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    性能实测:Spring Boot中六种批量更新技术谁更快?.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    springboot 批量更新-Spring Boot:操作数据库.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    Spring--JdbcTemplate.pdf

    标题中提到的"JdbcTemplate"是Spring框架中提供的一个用于简化数据库操作的JDBC抽象库。它是对Java标准数据库编程接口JDBC的一种封装,旨在简化JDBC编程,减少样板代码,使得开发者在使用Spring框架时能够更便捷地对...

    springboot mysql 批量更新 springboot batch批量更新.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    springBoot+springBatch批量处理数据demo

    在这个“springBoot+springBatch批量处理数据demo”中,我们将探讨如何将这两个强大的工具结合在一起,实现高效的数据处理。 首先,SpringBoot的核心特性在于其自动配置,它通过`@SpringBootApplication`注解自动...

    Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站.htm

    Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站

Global site tag (gtag.js) - Google Analytics