日期:2014-05-16 浏览次数:20857 次
?? 检测数据库是否支持batch
?? DatabaseMetaData.supportsBatchUpdates()
?
?? 然后就是三个比较有用的方法:
?
?? addBatch: 将Statement, PreparedStatement, and CallableStatement添加进batch里面
???
?? executeBatch: 返回各个语句的执行结果
???
?? clearBatch: 将batch里面的sql语句清除掉
?
?? 在这个里面有一个值得注意的是要设置connection的事务提交类型
?
?? setAutoCommit(false)为手动提交
?
// Create statement object Statement stmt = conn.createStatement(); // Set auto-commit to false conn.setAutoCommit(false); // Create SQL statement String SQL = "INSERT INTO Employees (id, first, last, age) " + "VALUES(200,'Zia', 'Ali', 30)"; // Add above SQL statement in the batch. stmt.addBatch(SQL); // Create one more SQL statement String SQL = "INSERT INTO Employees (id, first, last, age) " + "VALUES(201,'Raj', 'Kumar', 35)"; // Add above SQL statement in the batch. stmt.addBatch(SQL); // Create one more SQL statement String SQL = "UPDATE Employees SET age = 35 " + "WHERE id = 100"; // Add above SQL statement in the batch. stmt.addBatch(SQL); // Create an int[] to hold returned values int[] count = stmt.executeBatch(); //Explicitly commit statements to apply changes conn.commit();?