更新时间:2022-07-29 来源:黑马程序员 浏览量:
在数据库操作中,一项事务是由一条或多条操作数据库的SQL语句组成的一个不可分割的工作单元。只有当事务中的所有操作都正常完成,整个事务才能被提交到数据库中,如果有一项操作没有完成,则整个事务会被撤销。例如,在银行的转账业务中,假定zhangsan从自己的账号上把200元转到lisi的账号里,相关的SQL语句如下。
UPDATE ACCOUNT set MONEY=MONEY-200 WHERE NAME='zhangsan'; UPDATE ACCOUNT set MONEY=MONEY+200 WHERE NAME='lisi';
在上述SQL语句中,它们只有全部执行成功,才能提交整个事务。否则,如果zhangsan账号的钱少了200,而lisi账号的钱没有变化,势必会造成银行转账业务的混乱。
针对JDBC处理事务的操作,在Connection接口中,提供了三个相关方法,具体如下。
(1)setAutoCommit(boolean autoCommit):设置是否自动提交事务。
(2)commint():提交事务。
(3)rollback:撤销事务。
在上述三个方法中,默认情况下,事务是自动进行提交的。也就是说,如果每一条操作数据库的SQL语句执行成功,系统会自动调用commint()方法来提交事务,否则就自动调用rollback()撤销事务。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19