天天看点

JDBC访问一次数据库多次执行sql文

1第一要开启事务

//打开事务 默认是ture 自动提交事务

conn.setAutoCommit(false);

2//addBatch() 将一组参数添加到此 PreparedStatement 对象的批处理命令中。

3 //executeBatch() 将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import org.junit.Test;


import com.util.DBUUtils;

public class demo03 {
	@Test
public  void test03() throws Exception{
	Connection conn =DBUUtils.getconn();
	//sql必须是一个表 执行相同语句  ,value可以不同
	String sql1="INSERT into qqq  (name) VALUES(?)";
	//打开事务  默认是ture 自动提交事务
	conn.setAutoCommit(false);
	
	PreparedStatement ps1=conn.prepareStatement(sql1);
	for (int i = 0; i < 100; i++) {
		ps1.setString(1, "北京"+i);
		//addBatch()  将一组参数添加到此 PreparedStatement 对象的批处理命令中。
		ps1.addBatch();
	}
	//executeBatch() 将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。
	//访问一次数据库    返回值数组表示每一条sql执行完的影响行数 
	int[] executBatch=  ps1.executeBatch();
	 
	conn.commit();
	
	conn.setAutoCommit(true);
}
}
           

继续阅读