在java的事务管理中,原本想把create的表给一起回滚了,但是发现java的事务管理好像不支持DDL操作。
输入数据的事务管理实例:
public boolean insertData(String[] sqlStr){
if(null == sqlStr || sqlStr.length == 0)
return false;
boolean flag = true;
try{
conn = Connect.connect().getConnection();
conn.setAutoCommit(false);
stmt = conn.createStatement();
for(int i = 0;i < sqlStr.length;i++){
stmt.addBatch(sqlStr[i]);
}
int[] res = stmt.executeBatch();
for(int i = 0;i < res.length;i++){
if(res[i] <= 0){
conn.rollback();
return false;
}
}
if(flag)
conn.commit();
}catch(Exception ex){
flag = false;
try{
conn.rollback();
}catch(Exception ex1){
ex1.printStackTrace();
}
}finally{
try{
conn.setAutoCommit(true); //恢复为自动提交
}catch(Exception ex){
}
Connect.connect().close();
}
return flag;
}