事务:一个或一组数据库操作组成一个事务。
事务的ACID性质:
·A(atomicity) 表示“原子性”,事务的操作要么全部被执行,要么全部不被执行。每一个操作不可分割开来,比如银行取款,机器突然发生故障,本来账户已经减掉了款项,如果钱没到用户手中,即用户没有完成取款,则账户被减掉的钱直接回滚到没有操作之前。
·C(consistency) 表示“一致性”,所有数据库中数据元组之间的联系具有一致性限制,或说满足一致性期望(例如,账户要不能为负数)要求事务保持数据库的一致性。在操作过程中不会破坏数据的完整性。
·I (isolation)表示“独立性”,每个事务的执行必须显现为如同没有其他事务在同时执行。也叫“隔离性”,一个事务在对一个表进行操作时,另外一个事务不能同时对这个表的操作。
·D(durability) 表示“持久性”,一旦事务已经完成,则该事务对数据库的影响就永远不会消失。事务提交成功后,回不到过去了。
在SQL语句中,定义事务的语句如下:
BEGIN TRANSACTION :开始一个事务
PREPARE:准备提交
COMMIT:提交一个事务
ROLLBACK:回滚一个事务
事务的处理方式:
1、在JDBC连接中,使用命令声明事务的开始、提交和取消。
2、使用JTA(java Transaction API)