package soyatec.com.cn.test;
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()去执行。