JDBC学习之路(七)使用JDBC的批处理功能

本文介绍了一次性插入大量数据到数据库的方法,并通过JDBC批处理功能实现性能优化。使用批处理可以显著减少操作时间,特别是在批量插入1000条记录的例子中表现明显。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假设一个条件,比如一次性对数据库进行插入1000条记录,按照现在的想法可能是循环1000JDBC的插入函数,当

然,这样绝对是可行的,但是会带来时间上的加长而且估计是效率不高,所以对于大量数据的插入,JDBC提供了批处

理功能,这样可以一次性插入大量数据。现在以插入1000条数据为例子,来说明一下批处理功能的使用

package com.bird.jdbc;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class BatchTest {
	
	public static void main(String[] args) throws Exception{
		long begin=System.currentTimeMillis();
		test();
		long end = System.currentTimeMillis();
		System.out.println(end-begin);
	}
	
	public static void test() throws Exception{
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		
		try {
			conn=Temple.getConnection();
			String sql = "insert into user(name,birthday,money) values(?,?,?)";
			ps = conn.prepareStatement(sql);
			
			for(int i = 0; i < 1000; i++){
			ps.setString(1, "name"+i);
			ps.setDate(2, new Date(System.currentTimeMillis()));
			ps.setFloat(3, 100+i);
			
			ps.addBatch();//添加批处理
			}
			
			ps.executeBatch();//执行批处理
			
			
		}finally{
			Temple.free(conn, ps, rs);
		}
	
		
	}
}

其实很简单,就是添加批处理,然后提交批处理,这样能带来效率上的提高,Hibernate框架的封装会带来性能上的缺

失,所以Hibernate框架内部使用一些批处理功能,将提交的sql积攒一下再进行提交,这样能一定限度上优化一下性

能。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值