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数据库中存在事务的概念,最经典的例子的就是转账,张三给李四转账,那么首先要扣除张三的钱,然后加给李四,这整个过程不能分开 *** 作,整个过程称为事务,那么如果现在张三扣除了钱,在转账给李四之前出现了异常,那么问题来了,现在转账动作做到一半,如果不回滚事务的话,那么就出现张三钱少了,但是李四没加钱,这是不允许的,所以出现了回滚事务的这一动作。这样好理解些么?欢迎分享,转载请注明来源:内存溢出
评论列表(0条)