同样的代码:

public class TestBatch {  public static void main(String[] args) throws SQLException, ClassNotFoundException {	//Class.forName("oracle.jdbc.driver.OracleDriver");	//Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","guojje","guojje");	  	 Class.forName("com.mysql.jdbc.Driver");     Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");     String sql = "insert into book (kind, name) values (?,?)";     PreparedStatement pstmt = conn.prepareStatement(sql);     pstmt.setString(1, "java");     pstmt.setString(2, "jjjj");     pstmt.addBatch();        pstmt.setString(1, "ccc");     pstmt.setString(2, "dddd");     pstmt.addBatch();        //添加一次静态SQL     pstmt.addBatch("update book set kind = 'JAVA' where kind='java'");     //批量执行预定义SQL     pstmt.executeBatch(); }}

MySQL是通过,对于Oracle则会报不支持特性, 原因在于addBatch动态sql之后, 

不能再addBatch静态sql. 已此记录。