文章标题

来源:互联网 发布:淘宝女装店铺名称 编辑:程序博客网 时间:2024/06/08 13:06

(一)事物
一、相关概念
1、事物的定义
一个事务是作用于一个数据库的一个或多个数据表的一组动作,这组动作要么全部执行,要么全部不执行,如果其中一个动作失败,则所有动作恢复到动作执行前状态
例如:银行系统的账户资金转移

2、事物的四大特性(ACID)
(1)原子性(Atomicity):
事务中所有操作是不可再分割的原子单位。事务中所有操作要么全部执行成功,要么全部执行失败。
(2)一致性(Consistency):
事务执行后,数据库状态与其他业务规则保持一致。如转账业务,无论事物执行成功与否,参与转账的俩个账号余额之和应该是不变的。
(3)隔离性(Isolation):
隔离性是指在并发操作中,不同事物之间应该隔离开来,使每个并发中的事物不会相互干扰。
(4)持久性(Durability):
一旦事物提交成功,事务中所有的数据操作都必须被持久化到数据库中,即使提交事务后,数据库马上崩溃,在数据库重启时,也必须能保证通过某种机制恢复数据。

二、在数据库中操作事物
1、MySQL中

开启事物:start transaction
结束事物:commit或rollback

(三)在JDBC处理事物
在jdbc处理事务,都是通过Connection完成的。
并且同一个事务的所有操作,都是通过同一个Connection对象。

一、JDBC中的事务
1、Connection中三个与事务相关的方法:
(1)setAutoCommit(boolean):设置是否自动提交事务,如果true(默认值为true)表示自动提交,也就是每条执行的SQL语句都是一个单独的事务,如果设置false,那么就相当于开启了事务了;
(2)commit():提交并结束事物;
(3)rollback():回滚结束事物;
2、一般格式
jdbc处理事务的格式:

Connection conn = DriverManager.getConnection(url,user,password);try{      conn.setAutoCommit(false);//开启事务      ...      ...      ...      conn.commit();//提交事务}catch{      con.rollback();//回滚事务}
原创粉丝点击