BatchDemo.java :
public class BatchDemo {
public static void main(String[] args) {
batch();
}
/**
* 必须把批量执行的操作视为单个事务
* 程序应该在开始批量操作之前关闭自动提交,然后开始收集更新语句,
* 当批量操作执行结束后,提交事务。
*/
public static void batch(){
Connection conn=null;
Statement stmt=null;
String sql1="insert into mystu values(200,'rose',19,'F')";
String sql2="insert into mystu values(210,'martha',25,'F')";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.
getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
conn.setAutoCommit(false);//不要忘记这个
stmt=conn.createStatement();
stmt.addBatch(sql1);//添加
stmt.addBatch(sql2);//添加
int[] result=stmt.executeBatch();//执行
conn.commit();
for(int i:result){
System.out.println(i);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
if(stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}