一、什么是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

什么是java的事物相关推荐

  1. java写事物提交_fabric-sdk-java 提交事务

    在之前的文章"fabric sdk java 简单示例" 中运行了一个示例项目(基于 fabric-sample 中的fabcar示例,其中有 queryAllCars 调用的示例 ...

  2. JAVA Spring 事物 ( 已转账为例 ) 基于 AOP 注解

    <一> 配置为文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&qu ...

  3. java mysql 事物_java基础之MySQL事务和视图

    第三节 事务和视图 3.1事务 事务是用来维护数据库完整性的,它能够保证一系列的MySQL操作要么全部执行,要么全不执行.举一个例子来进行说明,例如转账操作:A账户要转账给B账户,那么A账户上减少的钱 ...

  4. java service 事物_Service 事务(JdbcUtils 升级)

    1. DAO 事务 // 在 DAO 中处理事务真是"小菜一碟" public void xxx(){ Connection con = null; try{ con = Jdbc ...

  5. java 执行长事物_狂 热 和 许 诺

    狂 热 和 许 诺 作者:未知    文章来源:www.jspcn.net 发布日期:2005年01月19日 华 尔 街 日 报 记 者LEE GOMES DON CLARK ------------ ...

  6. java批量事物管理_[疯狂Java]JDBC:事务管理、中间点、批量更新

    1. 数据库事务的概念: 1) 事务的目的就是为了保证数据库中数据的完整性: 2) 设想一个银行转账的过程,如果分两步,第一步是A的账户-1000,第二步是B的账户+1000,这两个动作必须是连贯的, ...

  7. java中事物的注解_编程式事务、XML配置事务、注解实现事务

    Spring2.0框架的事务处理有两大类: 1 编码式事务 , 这个不说. 2 声明式事务 , 就说这个. 声明式事务又有三种实现方法: 1 (第一种) 最早的方法,用TransactionProxy ...

  8. java中事物是什么意思_java里 声明式事务是什么意思呢?

    声明式事务(declarative transaction management)是Spring提供的对程序事务管理的方式之一. Spring的声明式事务顾名思义就是采用声明的方式来处理事务.这里所说 ...

  9. java加密方式有哪些_面完平安JAVA,他们说了这些

    做平安的职位有4年,接触过N多人选,以下内容是呕心沥血,日积月累整理,希望对大家的面试有帮助. 面试流程: 先说说面试流程,一般至少有3轮,2轮技术+HR面,各个子公司不一样,部份技术会3轮,技术一轮 ...

最新文章

  1. 关于C++类实现哈夫曼树
  2. 河南省住建厅调研新郑智慧城市建设 市民享受服务便利
  3. 【3-12】数据库子查询及聚合函数
  4. 口语学习Day8:今天聊聊微信有关的英语总结!
  5. 关于Webview带参访问服务器
  6. gitolite 踩坑记
  7. 数学和物理的共同演化
  8. Glib2版本差异初始化(三)
  9. MemSQL分布式架构介绍(二)
  10. 斯坦福大学深度学习公开课cs231n学习笔记(4)正向传播及反向传播
  11. 大屏可视化Axure效果图数据管理后台设计PSD样图HTML静态模板(共5771份,27.8G,附件中为网盘链接)
  12. 什么是Hash冲突?如何解决Hash冲突?
  13. octet和byte的差异
  14. 手机qq/微信打开网址被阻拦屏蔽被封 微信/QQ拦截域名如何正常打开
  15. MapGuide概述与特点
  16. 反射(三) 笔记
  17. TCP的三个窗口:发送窗口swnd、接收窗口rwnd、拥塞窗口cwnd
  18. FPGA入门实验之串口发送
  19. Go语言的GPM模型
  20. 招聘过程中,3分钟看懂一个人

热门文章

  1. SAP 成本结算中 费用分割的理解和用法
  2. android 渠道方案,Android 不同渠道差异代码
  3. oracle dbms_repair,DBMS_REPAIR包使用详解
  4. c语言程序运算绪论,计算机C语言程序设计ch01_绪论上.ppt
  5. 什么是多媒体应用开发?
  6. Cuckoo Hash及其性质
  7. CCF基于买方意向的货物撮合交易--Rank6开源
  8. 基于C++的灰度值方图处理
  9. springboot启动源码分析3-环境配置
  10. 基于matlab的bp神经网络,基于MATLAB的BP神经网络建模及系统仿真 (1)