首页 > 其他分享 >Spring事务

Spring事务

时间:2022-09-05 11:44:20浏览次数:63  
标签:事务 隔离 幻读 Spring 脏读 级别

1.事务的四大特性(ACID)

●原子性(Atomicity)
共生死,要么全部成功,要么全部失败!
●一致性(Consistency)
事务在执行前后,数据库中数据要保持一致性状态。(如转账的过程 账户操作后数据必须保持一致)
●隔离性(Isolation)
事务与事务之间的执行应当是相互隔离互不影响的。(多个角色对统一记录进行操作必须保证没有任何干扰) , 当然没有影响是不可能的,为了让影响级别降到最低,通过隔离级别加以限制:

  1. READ_ UNCOMMITTED (读末提交)
    隔离级别最低的一种事务级别。在这种隔离级别下,会引发脏读、不可重复读和幻读。
  2. READ_ COMMITTED (读已提交)
    读到的都是别人提交后的值。这种隔离级别下,会引发不可重复读和幻读,但避免了脏读。
  3. REPEATABLE_ READ (可重复读)
    这种隔离级别下,会引发幻读,但避免了脏读、不可重复读。
  4. SERIALIZABLE (串行化)
    最严格的隔离级别。在Serializable隔离级别下, 所有事务按照次序依次执行。脏读、不可重复读、幻读都不会出现。
    ●持久性(Durability)
    事务提交完毕后,数据库中的数据的改变是永久的。

2.事务接口


Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现。
Spring事务管理器的接口是org.springframework.transaction.PlatformTransactionManager.通过这个接口,Spring 为各个平台如JDBC、Hibernate 等都提供了对应的事务管理器
但是具体的实现就是各个平台自己的事情了。

标签:事务,隔离,幻读,Spring,脏读,级别
From: https://www.cnblogs.com/lwx11111/p/16657560.html

相关文章

  • springboot聚合项目搭建
    springboot聚合项目搭建1、简介1.1、什么是聚合项目?一个项目中包含多个子项目的项目。结构:|-父模块---|子模块1---|子模块2---|子模块31.2、聚合项目有什么......
  • 6个基于 Spring Boot 的开源社区项目!功能强大,界面炫酷
    整理了6个不错的基于SpringBoot开发的社区类项目,每个都非常不错!你可以参考这些项目用来作为自己的项目经验,或者你可以基于这些项目搭建一个自己的知识社区。原创不......
  • Spring(五)-Spring的其他知识点
    1、细说ServletContext、WebApplicationContext、Servlet的初始化参考博客-->细说ServletContext、WebApplicationContext、Servlet的初始化......
  • 【转】spring-session-data-redis核心原理
    这个组件的核心本质就是在实现单点登录SSO问题,将用户的登录session信息从原来的存储在jvm中转移到redis中去,微服务架构下每个应用接到请求都不会从自己的节点解析用户登录......
  • springMVC 获取参数
    1.servlet@GetMapping("/params")publicStringtest5(HttpServletRequestrequest){Stringusername=request.getParameter("username");Stringpassword......
  • SpringCloud 使用 Hystrix 实现【客户端】降级
    前面已经介绍了Hystrix服务端降级的实现方案,本篇博客将介绍Hystrix在客户端降级的实现方案。由于我使用最新版的SpringCloud(版本2021.0.3)实现客户端降级没有成功,所......
  • lightdb使用一条sql实现高性能事务一致性归历史
    相比insertselect,delete,如下:--lightdb专有oracle匿名块写法BEGINTRANSACTIONISOLATIONLEVELREPEATABLEREAD;insertintoxxselectxxfromyywhereid<xxx;......
  • 2.注解开发springmvc
    通用配置:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-i......
  • Spring的自动装配
    Bean的自动装配自动装配说明自动装配是使用spring满足bean依赖的一种方法spring会在应用上下文中为某个bean寻找其依赖的bean。Spring的自动装配需要从两个角度来实......
  • springboot Invalid bound statement (not found): com.xx.dao.%Dao.login
    解决方法:需要注意一下application.xml配置文件的MyBatis的配置的mapper-locations的路径参考的这篇博客:(133条消息)Invalidboundstatement(notfound):com.exampl......