ITPub博客

首页 > IT职业 > IT图书 > java中事务的基础内容总结

java中事务的基础内容总结

IT图书 作者:starkbl 时间:2021-09-11 10:02:10 0 删除 编辑

在处理一些复杂的事务时,面对数据的频繁修改,虽然我们可以灵活的应对。但程序运行总有出错的时候,一旦线程中断,那么程序任务进行到一半就会带来很多问题,这时候就产生了事务这个概念。可以说对于我们要处理的任务,在两个条件是是要求同时完成的。下面我们就事务的定义、用处、特性带来介绍,然后进行实例分享。

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中事务的基础内容总结,就拿事务的这个处理机制来说,保证了任务的同时完成,不用担心某一线路的中断而影响到另一个线路,所以在实际中被广泛应用。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3705/viewspace-2831152/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-03-09

  • 博文量
    74
  • 访问量
    5896