import java.sql.DriverManager;
import java.sql.PreparedStatement;import java.sql.SQLException;import java.sql.Statement;public class JDBCBatchProcessing {
public static void main(String[] args) throws SQLException {
try { Class.forName("org.gjt.mm.mysql.Driver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } String url = "jdbc:mysql://localhost/person"; java.sql.Connection conn = null; try { conn = DriverManager.getConnection(url, "root", "shong"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }//无参,添加案例
// Statement stmt = conn.createStatement(); // stmt.addBatch("insert into person(id, name) values(1,'shong')"); // stmt.addBatch("insert into person(id, name) values(2,\"hacks\")"); // // stmt.executeBatch(); // stmt.close(); // conn.close();//带参,添加案例
PreparedStatement ps = conn .prepareStatement("insert into person(id, name) values(?,?)");ps.setInt(1, 3);//设置参数
ps.setString(2, "elise"); ps.addBatch(); //把语句加入批处理队列ps.setInt(1, 4);
ps.setString(2, "plegall"); ps.addBatch();ps.setInt(1, 5);
ps.setString(2, "mike"); ps.addBatch();ps.executeBatch(); //执行批处理
ps.close(); //最后关闭
conn.close();}//总结://1.stmt=conn.createStatement()这个后面的括号里面一般没有东西!!!//2.pstmt=conn.prepareStament("insert into authors(firstName,lastName) values(?,?)")//这个后面一定有sql语句,并且里面的参数是用?表示的。//然后用pstmt.setString(1,"fegor")来设定它的值,1表示第1个问号的位置,"fegor",表示我们要加的值//最后用pstmt.executeUpdate()去执行。