如果一个事务执行到一半断电了
这里是我执行事务的方法
public static boolean executeTransaction(String[] sqlArray) {
Connection conn = null;
Statement stmt = null;
boolean flag = false;
try {
conn = DBUtil.getInstance().getConn();
conn.setAutoCommit(false);
stmt = conn.createStatement();
for (String str : sqlArray) {
stmt.addBatch(str);
}
stmt.executeBatch();
flag = true;
conn.commit();
} catch (Exception e) {
e.printStackTrace();
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
} finally {
DBUtil.tryClose(null, stmt, conn);
}
return flag;
}
如果在执行stmt.executeBatch();到一半的时候突然发生断电之类的意外情况,那我的事务会不会回滚,还是说数组前几条SQL语句会执行。求解释。。。