一、定义:
事务处理即指一系列的动作作为一个不可分解的操作。
二、ACID 属性:Atomic Consistent Isolated Durable
1、原子性 ALL-NOTHING
事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据修改操作要么全部执行,要么完全不执行。
2 、一致性
事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。这种特性称为事务的一致性。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。
3 、分离性
分离性指并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。
4、 持久性
持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失即一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,耐得住任何系统故障。持久性通过数据库备份和恢复来保证。
三、使用事务处理的步骤:
默认是自动提交:每发送一条SQL语句都是自动提交的!
1) conn.setAutoCommit(false),关闭自动提交事务开关。
2) 执行一个或多个关于数据库的操作;
3) conn.commit();
4) 如果发生错误,在catch{}中调用conn.rollback();
5) conn.setAutoCommit(true), 恢复自动提交事务开关。