使用JdbcTemplate进行批量操作
来源:互联网 发布:服务器防火墙开放端口 编辑:程序博客网 时间:2024/06/05 08:45
绝大多数JDBC驱动针对批量调用相同的prepared statement对象提供了性能提升。通过将这些更新操作封装到一个批量操作中,可以大量减少与数据库的操作频繁度。 本章节将详细描述使用JdbcTemplate或者SimpleJdbcTemplate进行批量操作的流程。
1、使用JdbcTemplate进行批量操作
JdbcTemplate的批量操作特性需要实现特定的接口BatchPreparedStatementSetter 来 进行的, 通过实现这个接口,并将其传入batchUpdate 方法进行调用。 这个接口有两个方法需要实现。一个叫做getBatchSize 来提供当前需要批 量操作的数量。另外一个方法是setValues 允许你为prepared statement设置参数。这个方法将在整个过程中被调用的次数,则取决于你在getBatchSize 中所指定的大小。 下面的示例展示了根据传入的list参数更新actor表,而传入的list同时作为批量操作的参数。
Java代码
如果是通过读取文件进行批量操作,那么你可能需要一个特定的批量操作的数量,不过最后一次的批量操作,你可能没有那么多数量的记录。 在这种情况下,你可以实现InterruptibleBatchPreparedStatementSetter 接 口,从而允许你在某些情况中断批量操作,isBatchExhausted 方法允许指定一个终止批量操作的信号量。
2、使用SimpleJdbcTemplate进行批量操作
SimpleJdbcTemplate 类提供了另外一种批量操作的方式。无需实现 一个特定的接口,只需要提供所有在调用过程中要用到的参数,框架会遍历这些参数值,并使用内置的prepared statement类进行批量操作。API将根据你是否使用命名参数而有所不同。对于使用命名参数的情况,需要提供一个SqlParameterSource 的数组, 其中的每个元素将将作为批量操作的参数。 你可以使用SqlParameterSource.createBatch 方法, 通过传入一个JavaBean的数组或者一个包含了参数键值对的Map数组来创建这个数组。
下面的示例展示了使用命名参数进行批量更新的方法:
Java代码
public class JdbcActorDao implements ActorDao {
- 使用JdbcTemplate进行批量操作
- 使用JdbcTemplate进行批量操作
- Spring 使用 JdbcTemplate 批量操作
- JdbcTemplate 进行批量插入或更新操作
- 使用JdbcTemplate进行插入操作
- 用 JdbcTemplate 进行批量插入或更新操作
- Spring JdbcTemplate批量操作
- JdbcTemplate 执行批量操作
- spring jdbctemplate批量操作
- jdbcTemplate 批量操作
- spring jdbcTemplate批量更新操作
- 使用Spring JDBCTemplate进行增删改查curd操作
- JDBC之使用Spring提供的JdbcTemplate进行数据库操作
- 使用pssh进行并行批量操作
- 使用pssh进行并行批量操作
- 使用pssh进行并行批量操作
- 使用pssh进行并行批量操作
- Spring JdbcTemplate 批量插入或更新操作
- 如何强制关闭Ubuntu无响应程序
- iOS 本地推送
- 02-小游戏-001-21点
- 什么是众筹
- mysql扩展中常用函数
- 使用JdbcTemplate进行批量操作
- [leetcode] Subsets
- 如何通过聊天了解一个人?
- PorterDuffXfermode使用
- Android~Handler机制DEMO示例
- Application类作用浅析
- Android中Looper的quit方法和quitSafely方法
- 文章标题
- Mark——URL-统一资源定位器