JAVA 里面怎写Oracle的数据库回滚

JAVA 里面怎写Oracle的数据库回滚,第1张

//举例子,比如你在写一个级联删除的方法的时候,为了保证数据完整性,删除的时候一定要确定该删的都删了才行,否则就要回滚,下面是删除方法的例子:public boolean delete(int sID) {//成功删除会返回true

 dbc = new DataBaseConnection()//根据你自己的方式创建数据库的连接

 Connection con = dbc.getConnection()//得到Connection

 try {

con.setAutoCommit(false)// 更改JDBC事务的默认提交方式,默认是true,是自动提交

dbc.executeUpdate("delete from xiao where ID=" + sID)//删除

dbc.executeUpdate("delete from xiao_content where ID=" + sID)//删除

dbc.executeUpdate("delete from xiao_affix where bylawid=" + sID)//删除

con.commit()//提交JDBC事务,如果没问题,这时才真正的删除了

con.setAutoCommit(true)// 恢复JDBC事务的默认提交方式,这是个好习惯

dbc.close()//关闭连接

return true//删除成功

 }

 catch (Exception exc) {

con.rollBack()//回滚JDBC事务,出现异常,为保证数据完整性,此次 *** 作回滚,不删除

exc.printStackTrace()//输出异常信息

dbc.close()//关闭连接

return false//删除失败

 }

}//顺便说一下,java中JDBC的事务管理,跟你用的是什么数据库没关系,用什么数据库都是这样

java数据库中存在事务的概念,最经典的例子的就是转账,张三给李四转账,那么首先要扣除张三的钱,然后加给李四,这整个过程不能分开 *** 作,整个过程称为事务,那么如果现在张三扣除了钱,在转账给李四之前出现了异常,那么问题来了,现在转账动作做到一半,如果不回滚事务的话,那么就出现张三钱少了,但是李四没加钱,这是不允许的,所以出现了回滚事务的这一动作。这样好理解些么?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9892400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存