1.事物是一组操作数据的集合动作

(场景:再开发的时候相信大家都遇到主表和子表的插入问题,当主表插入成功时,子表没有插入成功,这时候我们就要把主表的数据回滚,这个时候我们就要用到事物了)

2.一组处理的步骤或者全部发生或者一步也不执行,我们称该组处理的步骤为一个事物,当所有的步骤操作像一个操作一样完整的执行,我们称该事物被提交。由于其中的一部分或者多步执行失败,导致没有步骤被提交,则事物必须回滚到系统的最初的状态。

Java中的事务处理

一般J2EE服务器支持三种类型的事务管理。即:JDBC事务,JTA事务,容器管理事务。

最好不要在程序中同时使用上述三种事务类型;并且,事务要在尽可能短的时间内完成,不要在不同方法中实现事务的使用。下面举两个例子说明JDBC及JTA事务,容器管理事务是在特定的框架中实现的(如:Spring的事务管理)

1. JDBC事务

public String delete(String id) {

String ID = id;

db = new getConnection();

Connection con = db.getConnection();

try {

con.setAutoCommit(false);

db.executeUpdate("delete from helloworld where ID=" + ID); //更新操作1

db.executeUpdate("delete from helloworld _book where ID=" + ID); //更新操作2

db.executeUpdate("delete from helloworld_user where ID=" + ID); //更新操作3

con.commit();//提交JDBC事务

con.setAutoCommit(true);

db.close();

return “success”;

}catch (Exception e) {

con.rollBack();//回滚JDBC事务

e.printStackTrace();

db.close();

return “fail”;

}

}

如上例:更新操作1,2,3只有当三步操作都成功完成才进行提交,否则回滚已经进行的操作。这样,保证了数据的完整性,不会因为突然断电等特殊情况导致的数据错误。

2.SpringBOOt处理事物,利用注解@Transactional

A.在ServiceImp 层中对要用到的事物加上@Transactional   注解即可

B.在SpringBOOT启动类中添加注解 @EnableTransactionManagement

java中事物的注解_JAVA中对事物的理解相关推荐

  1. java中spring的注解_spring中的各种注解解析

    Spring中的注解大概可以分为两大类: 1)spring的bean容器相关的注解,或者说bean工厂相关的注解: 2)springmvc相关的注解. spring的bean容器相关的注解,先后有:@ ...

  2. java中的集合框架_JAVA中的集合框架(上)List

    第一节 JAVA中的集合框架概述 集合的概念,现实生活中:很多事物凑在一起就是一个集合:数学中的集合:具有相同属性事物的总体:JAVA中的集合:是一种工具类,就像是容器,储存任意数量的具有共同属性的对 ...

  3. java中什么是空指针异常_JAVA中的空指针异常如何处理?

    你这个问题的解决 问题定位: 在堆栈异常信息的第一行就可以定位到是哪里出了空指针,倘若这里不是你写的类,可以往下翻一下,找到你写的类,就是这里出现的空指针. 问题解决: 对一个空对象调用里面的方法或者 ...

  4. java中的 的意思_java中 的意思是什么意思是什么意思是什么意思

    关于 java中 的意思是什么意思是什么意思是什么意思的搜索结果 问题 java中 的意思是什么意思是什么意思是什么意思 java中 的意思是什么意思是什么意思是什么意思... 云计算小粉 2019- ...

  5. java中组件与容器_java中的容器组件和非容器组件

    1.java使用到的图形类主要在java.awt 与javax.swing包中. 2.java.awt 与 javax.swing包的区别: ① java.awt中使用的图形类都是依赖于系统的图形库的 ...

  6. java boolean几个字节_Java中boolean类型到底占用多少个字节?

    1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...

  7. java 基本类型的引用_Java中的基本数据类型与引用数据类型

    一.基本数据类型 byte.short.int.long(整数类型) float.double(浮点数类型) char(字符型) boolean(布尔类型 ) Java数据大多数存放在堆栈中.栈区:存 ...

  8. java对于数组的定义_Java中方法的定义与使用,以及对数组的初步了解。

    方法 方法的含义 定义: 方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能--通常是处理文本,控制输入或计算数值. 我们可以通过在程序代码 ...

  9. java string 后几位_java中String占几个位元组

    java中String占几个位元组以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java中String占几个位元组 J ...

  10. java有没有回调函数_Java中的回调函数 - wangjianme的个人空间 - OSCHINA - 中文开源技术交流社区...

    Java代码的回调函数经常由框架或是系统定义,由程序开发人员填充. 它的最主要特点是即定义了调用的规范同时又非常的灵活. 回调函数有些类似于观察者模式,它们的区别在于:观察者模式返回的参数为Event ...

最新文章

  1. android RecyclerView 添加可拖动的滚动条
  2. 高精度运算(C++实现)
  3. 人员信息管理系统练习
  4. plsql连接oracle报错12514,plsql 登录 oracle11 12514 错误的处理方法
  5. mysql left day 7_day7-mysql函数
  6. Go进阶(2): 变量+数据类型
  7. 通过组策略实现客户端注册证书
  8. Android开发系列之屏幕密度和单位转换
  9. 苏州大学计算机学院报录比,【图片】18年苏州大学计算机872考研经验分享【苏州大学研究生吧】_百度贴吧...
  10. 阿里云安全肖力:从RSA2019看安全技术发展的十个机遇
  11. 【三】版本之间穿梭切换
  12. RPC入门总结(一)RPC定义和原理
  13. 微信公众号开发C#系列-5、用户和用户组管理-支持同步
  14. 静态库制作-混编(工程是oc为基础)
  15. 代理模式(静态代理、动态代理)
  16. Ogre实现简单地形
  17. update与fixedupdate差别
  18. 结构风险最小和VC维理论的解释
  19. OPERA夜审功能和参数调节
  20. 5G关键技术简介带你揭开5G神秘面纱

热门文章

  1. Linux下常用网络配置命令
  2. Java计算接口请求时间
  3. 共享变量在线程间的可见性
  4. python工具包:Python Swiftclient
  5. 遇见C++ Lambda
  6. 【Nodejs篇三】Node js npm包管理工具
  7. 成熟的云管理是什么样的?
  8. mysql简单命令行操作以及环境变量的配置
  9. MongoDB整理笔记のGUI操作
  10. 终于有机会获得百度SEO的邀请码了