JSP中 setautosubmit的使用

在jsp中setautocommit()方法的作用

摘自:http://zhidao.baidu.com/question/89927214.html


这个方法是java.sql.Connection接口中定义的方法,该方法需要一个布尔类型的参数,一楼说的不错,默认是自动提交,那什么时候需要使用这个方法呢?
考虑这个问题:
假如做一个银行转账系统,从A的账户转500元到B的账户
这个操作需要分2步
1.A账户减少500元
2.B账户增加500元
假如A账户余额不足,B的账户仍然会增加500元,这明显是不能接受的
所以我们需要采用事务
假设java.sql.Connection的对象名为conn
java使用事务非常简单,首先调用conn.setAutoCommit(boolean b)方法,传入一个false,这样将不会自动提交,而需要使用conn.commit()方法,手动提交事务,当然只有在确认两个步骤都没有出错的情况下,才能提交,这样才能保证整个操作的完整性,一旦出错,使用conn.rollback()方法,回滚事务,这样的话,整个事务都将不被提交。那么如何判断有没有出错呢,非常简单,执行数据库操作的方法,都会抛出java.sql.SQLException,所以需要使用try……catch语句块捕获异常,在catch块中,使用conn.rollback()回滚事务即可

posted @ 2012-11-26 20:32  Peter_youny  阅读(197)  评论(0编辑  收藏  举报