62,614
社区成员
发帖
与我相关
我的任务
分享
Connection con = null;
Statement stm = null;
try {
con = JDBCConAndClo.getConnectionBao();
stm = con.createStatement();
con.setAutoCommit(false);
// 若不出现异常,则继续执行到try语句完,否则跳转到catch语句中
stm.addBatch("insert into student values(23,'tangbao','高数',100)");
stm.addBatch("insert into student values(24,'王定','c#',98)");
stm.addBatch("insert into student values(25,'王国云','java',90)");
stm.addBatch("insert into student values(26,'溜出','英语',89)");
stm.addBatch("insert into student values(27,'wqde','java',63)");
/*
* int[] executeBatch() throws
* SQLException将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。
*/
stm.executeBatch();
System.out.println("插入成功!");
// commit:若成功执行完所有的插入操作,则正常结束
con.commit();
System.out.println("提交成功!");
con.setAutoCommit(true);
} catch (SQLException e) {
e.printStackTrace();
try {
//rollback: 若出现异常,对数据库中所有已完成的操作全部撤销,则回滚到事务开始状态
if (!con.isClosed()) {
con.rollback();
System.out.println("提交失败,回滚!");
con.setAutoCommit(true);
}
} catch (SQLException e1) {
e1.printStackTrace();
} finally {
JDBCConAndClo.closeStatement(stm);
JDBCConAndClo.closeConnection(con);
}
}