博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是java的事物
阅读量:6802 次
发布时间:2019-06-26

本文共 829 字,大约阅读时间需要 2 分钟。

一、什么是Java事务
通常的观念认为,事务仅与数据库相关。
事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。隔离性表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。持久性表示已提交的数据在事务执行失败时,数据的状态都应该正确。
通俗的理解,事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成功,若因为某个原因其中一条指令执行有错误,则撤销先前执行过的所有指令。更简答的说就是:要么全部执行成功,要么撤销不执行。
既然事务的概念从数据库而来,那Java事务是什么?之间有什么联系?
实际上,一个Java应用系统,如果要操作数据库,则通过JDBC来实现的。增加、修改、删除都是通过相应方法间接来实现的,事务的控制也相应转移到Java程序代码中。因此,数据库操作的事务习惯上就称为Java事务。
二、为什么需要事务
事务是为解决数据安全操作提出的,事务控制实际上就是控制数据的安全访问。具一个简单例子:比如银行转帐业务,账户A要将自己账户上的1000元转到B账户下面,A账户余额首先要减去1000元,然后B账户要增加1000元。假如在中间网络出现了问题,A账户减去1000元已经结束,B因为网络中断而操作失败,那么整个业务失败,必须做出控制,要求A账户转帐业务撤销。这才能保证业务的正确性,完成这个操走就需要事务,将A账户资金减少和B账户资金增加方到一个事务里面,要么全部执行成功,要么操作全部撤销,这样就保持了数据的安全性。

转载于:https://www.cnblogs.com/aijavaa/p/6482713.html

你可能感兴趣的文章
复杂网络上的动力学过程
查看>>
使用tcpdump验证tcp三次握手
查看>>
Java 复习
查看>>
关于iFrame高度小于父元素DIv3~5px的解决方案
查看>>
【免费报名】亚洲诚信&看雪学院:“走进企业看安全”技术分享沙龙等你来侃~...
查看>>
Flutter学习之Dart语言基础(内置类型)
查看>>
OpenGL 3D矩阵的位移、缩放变换
查看>>
kotlin笔记--基础篇
查看>>
传统模式下WebService与WebAPI的相同与不同
查看>>
mysql实现首字母从A-Z排序
查看>>
[转]C++11 随机数学习
查看>>
谈谈对Spring IOC(控制反转)的理解--转
查看>>
spring注解开发AnnotationConfigApplicationContext的使用
查看>>
9.redis安全
查看>>
2018焦作区域赛E. Resistors in Parallel
查看>>
Scrum立会报告+燃尽图(十一月二十二日总第三十次):加强回归测试
查看>>
python网络编程socketserver模块(实现TCP客户端/服务器)
查看>>
[python] 线程简介
查看>>
pure响应式布局
查看>>
homework-09
查看>>