Java中事务的概念

来源:互联网 发布:110端口 编辑:程序博客网 时间:2024/06/03 18:17

什么是事务?

答:事务是访问数据库的一个操作序列,DB应用系统通过事务集来完成对数据的存取。


事务必须遵循4个原则,即常说的 ACID


A,Automicity,原子性,即事务要么被全部执行,要么被全部不执行。如果事务下的子事务全部提交成功,则所有数据库操作被提交,否则,应进行事务回滚。


C,Consistency,一致性,即状态转换必须是由一种正确的状态转换到另外一种正确的状态。


I,Isolation,隔离性,即相互间必须不能被影响。


D,Durabillity,持久性,即事务提交后将被永久保存,即便出现其他故障,事务处理结果也应得到保存。


事务的隔离级别

串行化,Serializable,一个事务在执行过程中完全看不到其他事务对数据库所做的更新。

可重复读,Repeatable Read,一个事务在执行过程中可以看到其他事务已经提交的记录,但是不能看到其他事务对已有记录的更新。

读已提交数据,Read Commited,一个事务在执行过程中可以看到其他事务已经提交的记录,而且能看到其他事务对已有记录的更新。

读未提交数据,Read UnCommited,一个事务在执行过程中可以看到其他事务没有提交的记录,而且能看到其他事务没有提交的记录的更新。


隔离级别越高,越能保证数据的完整性和一致性,但对高并发性能影响也越大,故需要合理选择。



原创粉丝点击