在处理一些复杂的事务时,面对数据的频繁修改,虽然我们可以灵活的应对。但程序运行总有出错的时候,一旦线程中断,那么程序任务进行到一半就会带来很多问题,这时候就产生了事务这个概念。可以说对于我们要处理的任务,在两个条件是是要求同时完成的。下面我们就事务的定义、用处、特性带来介绍,然后进行实例分享。
1.定义
通常观念认为,事务仅与数据库相关。
事务必须服从 ISO/IEC 所制定的 ACID 原则。
2.用处
我们在实际业务场景中,经常会遇到数据频繁修改读取的问题。在同一时刻,不同的业务逻辑对同一个表数据进行修改,这种冲突很可能造成数据不可挽回的错乱,所以我们需要用事务来对数据进行管理。
3.特性
(1)原子性
即不可分割性,事务要么全部被执行,要么就全部不被执行。如果事务的所有子事务全部提交成功,则所有的数据库操作被提交,数据库状态发生转换;如果有子事务失败,则其他子事务的数据库操作被回滚,即数据库回到事务执行前的状态,不会发生状态转换。
(2)一致性
事务的执行使得数据库从一种正确状态转换成另一种正确状态。
(3)隔离性
在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,即在事务正确提交之前,它可能的结果不应显示给任何其他事务。
(4)持久性
事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。
既然事务的概念从数据库而来,那Java事务是什么?之间有什么联系?
实际上,一个Java应用系统,如果操作数据库,通过JDBC来实现的。那么增加、修改、删除都是通过相应方法间接来实现的,事务的控制也相应转移到Java程序代码中。因此,数据库操作的事务习惯上就称为Java事务。
4.实例
事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。
例如:A——B转帐,对应于如下两条sql语句
update from account set money=money+100 where name='B'; update from account set money=money-100 where name='A';
以上就是java中事务的基础内容总结,就拿事务的这个处理机制来说,保证了任务的同时完成,不用担心某一线路的中断而影响到另一个线路,所以在实际中被广泛应用。



