try {
conn = jdbc.getConn();
//点禁止自动提交,设置回退
conn.setAutoCommit(false);
//3、把表信息更新进入表(meter、meter_file)中
String metername = meter.getMeterName();
meterDao.saveMeter(meter,conn);
if(!(filelist==null||filelist.size()<1)){
Long meterid = meterDao.queryMeterId(metername,conn);
meter.setId(meterid);
meterDao.saveMeters(meter, filelist,conn);
}
//4、执行表语句,生成表
meterDao.executeSql(str.toString(),conn);
//事务提交
conn.commit();
} catch (SQLException e) {
e.printStackTrace();
try {
//操作不成功则回退
conn.rollback();
System.out.println("回滚成功");
} catch (SQLException e1) {
e1.printStackTrace();
}
}
为什么我在其中报错之后没有回滚呢?
------解决思路----------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------
COMMIT和ROLLBACK语句只应用于DML(select,update、insert、delete),建表语句是DDl。