为什么rollback回滚失败
public void account(String fname,String tname, String m) throws Exception {
// TODO Auto-generated method stub
AccountDao dao = new AccountDao();
Connection conn=null;
try {
//0获取事物
conn = JdbcUtils.getConnection();
conn.setAutoCommit(false);
//1.转出
dao.accountOut_(conn,fname,m);
int i = 1/0;
//2.转入
dao.accountIn_(conn,tname,m);
//3.事物提交
conn.commit();
//释放资源
JdbcUtils.closeConn(conn);
} catch (Exception e) {
e.printStackTrace();
//事物回滚
conn.rollback();
//释放资源
JdbcUtils.closeConn(conn);
throw e;
}
}
}
转出操作下加了int=1/0;
执行后查询数据库 转出操作仍然执行了 转入操作没有执行
但是错误后不是catch后回滚么 为什么我的回滚失效了。。。。
// TODO Auto-generated method stub
AccountDao dao = new AccountDao();
Connection conn=null;
try {
//0获取事物
conn = JdbcUtils.getConnection();
conn.setAutoCommit(false);
//1.转出
dao.accountOut_(conn,fname,m);
int i = 1/0;
//2.转入
dao.accountIn_(conn,tname,m);
//3.事物提交
conn.commit();
//释放资源
JdbcUtils.closeConn(conn);
} catch (Exception e) {
e.printStackTrace();
//事物回滚
conn.rollback();
//释放资源
JdbcUtils.closeConn(conn);
throw e;
}
}
}
转出操作下加了int=1/0;
执行后查询数据库 转出操作仍然执行了 转入操作没有执行
但是错误后不是catch后回滚么 为什么我的回滚失效了。。。。
...全文
相关推荐
PHP的mysqli_rollback()函数讲解
今天小编就为大家分享一篇关于PHP的mysqli_rollback()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
PDO::rollBack讲解
PDO::rollBack PDO::rollBack — 回滚一个事务(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 bool PDO::rollBack ( void ) 回滚由PDO::beginTransaction()发起的当前事务。如果没有事务激活,将抛出一个 PDOException 异常。 如果数据库被设置成自动提交模式,此函数(方法)在回滚事务之后将恢复自动提交模式。 包括 MySQL 在内的一些数据库,当在一个事务内有类似删除或创建数据表等DLL语句时,会自动导致一个隐式地提交。隐式地提交将无法回滚此事务范围内的任何更改。 返回值 成功
JAVA设置手动提交事务,回滚事务,提交事务的操作
主要介绍了JAVA设置手动提交事务,回滚事务,提交事务的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
回滚段参数修改
oracle 回滚段参数的管理,特别是orale 8i版本前的应用。
浅析Mysql 数据回滚错误的解决方法
以下小编为大家介绍一下关于Mysql数据回滚错误的解决方法。需要的朋友可以过来参考下


