批处理Statement与PrepareStatement处理方式对比

本文详细介绍了如何使用Statement和PreparedStatement进行数据库操作,包括创建数据库表、添加数据及批处理操作,旨在提高数据操作效率。

1.Statement批处理 创建数据库表 添加数据

package cn.itheima.jdbc;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import org.junit.Test;

import cn.itheima.utils.JDBCUtils;

/*
 create database day10batch;
 use day10batch;
 create table batchDemo(
 id int primary key auto_increment,
 name varchar(20)
 );
 insert into batchDemo values(null,'aaaa');
 insert into batchDemo values(null,'bbb');
 insert into batchDemo values(null,'cc');
 insert into batchDemo values(null,'d');
 */
public class StatementBatch {
	Connection con = null;
	Statement sta = null;
	ResultSet rs = null;

	@Test
	public void update() {
		try {
			con = JDBCUtils.getConnection();
			sta = con.createStatement();
			sta.addBatch("create database day10batch");
			sta.addBatch("use day10batch");
			sta.addBatch("create table batchDemo("+
					"id int primary key auto_increment,"+
					"name varchar(20)"+
				")");
			sta.addBatch("insert into batchDemo values(null,'aaaa')");
			sta.addBatch("insert into batchDemo values(null,'bbbb')");
			sta.executeBatch();
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException();
		} finally {
			JDBCUtils.closeResource(rs, sta, con);
		}
	}
}
2.PrepareStatement 批处理 添加100条数据

package cn.itheima.jdbc;

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

import org.junit.Test;

import cn.itheima.utils.JDBCUtils;

public class PsBatch {
	Connection con = null;
	PreparedStatement ps = null;
	ResultSet rs = null;
	@Test
	public void update(){
		try{
			con=JDBCUtils.getConnection();
			ps=con.prepareStatement("insert into batchDemo values(null,?)");
			
			for(int i=0;i<100;i++){
				ps.setString(1, "aaa"+i);
				ps.addBatch();
			}
			ps.executeBatch();
		}catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException();
		}finally{
			JDBCUtils.closeResource(rs, ps, con);
		}
	}
}

3.比较

Statement 数据变换形式比较大的时候使用

PrepareStatement数据不变化的时候使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值