executeBatch()方法:用于成批地执行SQL语句,但不能执行返回值是ResultSet结果集的SQL语句,而是直接执行stmt.executeBatch();
addBatch():向批处理中加入一个更新语句。
clearBatch():清空批处理中的更新语句
public void executeBatch() throws SQLException {
Connection con = Toolkit. getMySqlConnection();
String sql = "xxx";
String sql_2 = "xxx";
Statement st = null;
// Statement、PreparedStatement(它从 Statement 继承而来)和CallableStatement(它从 PreparedStatement 继承而来)。它们都专用于发送特定类型的 SQL 语句:Statement 对象用于执行不带参数的简单 SQL 语句;PreparedStatement 对象用于执行带或不带 IN参数的预编译 SQL 语句;CallableStatement 对象用于执行对数据库已存储过程的调用。
try {
st = con.createStatement();
//conn.setAutoCommit()的功能是每执行一条SQL语句,就作为一次事务提交。但一般在项目中很有可能需要执行多条SQL语句作为一个事务。若有一个执行不成功,就会rollback();当true的时候可启用自动提交模式,false可禁用该模式
con.setAutoCommit(false);
//使用addBatch()添加SQL语句
st.addBatch(sql);
st.addBatch(sql_2);
st.addBatch(....);
//使用executeBatch()执行批量sql语句
st.executeBatch();
con.commit();
} catch (SQLException e) {
loger.info(e.getMessage());
} finally {
Toolkit. close(con);
st.close();
}
}