一、什么是事务
事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。
二、事务的原则(ACID)
原子性:事务要么全部都被执行,要么就全都不被执行,如果有子事务提交失败,那么其他子事务对数据库的操作将被回滚,数据库回到事务提交前的状态;如果全部子事务都提交成功,则所有的数据库操作都会被提交;
一致性:事务的执行使得数据库从一种正确状态转换成另一种正确状态;
隔离性:一个事务的执行不能被其他事务所影响;
持久性:事务一旦提交,就会永久保存在数据库中,及时数据库服务器发生故障,也不会丢失提交事务的操作。
三、事务的类型
JDBC事务、JTA(Java Transaction API)事务、容器事务
1、JDBC事务:在JDBC中处理事务,都是通过Connection处理的,同一事务的操作,都在一个connection对象中完成,JDBC Connection 接口提供了两种事务模式:自动提交和手工提交,JDBC事务是默认开启的,并且是默认提交。
java.sql.Connection 提供了以下控制事务的方法:
public void setAutoCommit(boolean)//设置是否是自动提交,true(默认值)代表自动提交,false代表需要手动提交 public void commit() //提交事务 public void rollback()//回滚事务