spring事務
spring事物
spring事物其实就是对数据库事物的一种支持,没有数据库事物的话,spring本身是不能提供事物支持的;
在最开始使用原始的jdbc连接数据库进行炒操作是, 获取连接后可以使用connection.setAutoConmmit(false)
来关闭自动提交, 在最后通过connection.commit来确定提交事物,或是connection.rollback()来回滚事物;
而spring通过在相关的方法或类上面加上@transacntional 表示,spring再启动的时候会自动扫描这些类和方法,
并为其生成代理;
--------------------------------------------------------------------------------------------------
脏读:
当事物1 对数据库数据进行修改后,还未提交,此时事物2 对数据进行读取, 如果这时候事物一进行了回滚,
那么事物2 读取到的就是脏数据;
幻读:
第一个事物对一定范围的数据进行批量读取,第二个事物在这个范围里新加了一条数据,这时候事物1 就会丢失对新加
数据的读取;
不可重复读:
在一个事物中对某个数据读取了两次,但在两次之间其他事物对数据进行了修改, 这时两次读取到的数据可能是不一样
的;
--------------------------------------------------------------------------------------------------
事物隔离:
spring默认使用数据库的默认事物隔离级别,最高的事物隔离级别是顺序执行,但是这也是代价最高的,事物被处理成
顺序执行的;
--------------------------------------------------------------------------------------------------
spring事務的更多相关文章
- 分佈式事務故障處理暨ORA-24756: transaction does not exist處理
ORA-24756处理 看到警告日誌一直報ORA-24756錯誤 Errors in file /oracle/admin/NHMIX01/bdump/nhmix01_reco_4959.trc: O ...
- WCF分佈式事務支持
WCF分佈式事務對Binding有要求,不支持BasicHttpBinding,BasicHttpContextBinding,NetPeerTcpBinding 要支持分佈式事務,需要進行以下配置: ...
- spring事务在web环境中失效的问题
今天温习一下spring事务的时候,出现了一种诡异的现象,在java环境中测试事务是可以的.然后到web下测试事务就没用了.spring.xml配置 spring-mvc.xml配置 后来百度发现是因 ...
- C# 數據事務操作
public sealed class SQLFunc { #region Methods #region OpenConnection /// <summary>指定包含連接字串的字串 ...
- 【Spring】Spring3+Spring3MVCの環境構築(中)
参考URL: https://www.cnblogs.com/lnsylt/p/10258457.html ■目録 ■環境設定 ①pom.xml <?xml version="1.0& ...
- Spring基础学习笔记
1. Spring入门 1. 1 Spring的体系结构 1.2 HelloWorld 1.2.1 Maven的使用 1)maven 的javase工程目录结构: 2)maven的settings.x ...
- spring配置和注解事务同时存在导致的事务嵌套
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt123 首先先看配置文件: [html] view plaincopy < ...
- 详解阿里P7架构师是怎么在Spring中实现事务暂停
摘要 Spring框架是一个流行的基于轻量级控制反转容器的Java/J2EE应用框架,尤其在数据访问和事务管理方面的能力是众所周知的.Spring的声明性事务分离可以应用到任何POJO目标对象,并且包 ...
- 《App后台开发运维与架构实践》第2章 App后台基础技术
2.1 從App業務邏輯中提煉API接口 業務邏輯思維導圖 功能-業務邏輯思維導圖 基本功能模塊關系 功能模塊接口UML(設計出API) 在設計稿標注API 編寫API文檔 2.2 設計API的要點 ...
随机推荐
- Failed to create the Java Virtual Machine
启动Zend Studio时出现Failed to create the Java VIrtual Machine 解决办法如下.打开安装目录下的ZendStudio.ini配置文件,作如下修改: 说 ...
- FileBeat读取特征目录及特征文件,为不同的path生成不同的Kafka Topic
进入日志收集及监控报警这个领域,感觉一切都要从新学习. 现在周五,这周有两天用来踩坑了. 作些记录. 第一个遇到的问题,就是不同的应用组件,在k8s里,会生成不同的日志,如何采集到这些不同的日志呢? ...
- ubuntu18.10安装网易云音乐
1.到网易云官网下载安装包(在18.10双击安装包没能安装成功,于是使用命令行) 2.执行安装命令 sudo dpkg -i 名称,这时会提示缺少依赖gconf-service等,提示执行命令,照做就 ...
- Maven 仓库之阿里云镜像配置
每当项目开发中 update Maven Project 的时候,我们会发现那个进度是非常的慢,这也严重阻碍了平日的开发进度. 然而,殊不知阿里云搭建了一个国内镜像 http://mav ...
- Server sent passive reply with unroutable address. Using server address instead
最近在linux服务器安装vsftp服务.经过一轮设置,终于可以连接上了,用winSCP连接,刷新目录就提示这个错误. 解决办法: vim /etc/vsftpd.conf ,编辑配置文件,最后加上 ...
- 论 ArrayList如何实现线程安全
一:使用synchronized关键字 二:使用Collections.synchronizedList(); 假如你创建的代码如下:List<Map<String,Object>& ...
- NetCore+Dapper WebApi架构搭建(三):添加实体和仓储
上一节讲了类库添加一些底层的基本封装,下面来添加实体和仓储 1.Entities文件夹添加一个实体类Users,继承BaseModel,即拥有BaseModel的主键 using System; na ...
- 富文本插件KindEditor
具体用法查看官网http://kindeditor.net/doc.php {% load staticfiles %} <!DOCTYPE html> <html lang=&qu ...
- bzoj5102 [POI2018]Prawnicy 线段树
$bzoj$跑的太慢了...... 我们考虑用线段树来解决这个问题 考虑扫描线 当扫到左端点$i$时,我们把线段$i$加入线段树 同时,对于每个左端点$i$,我们在线段树上二分出最远的$r$满足$r$ ...
- SQL SERVER 扩展属性的操作方法
将数据库迁移到 Azure SQL 数据库时出现错误,不支持扩展属性“MS_Description”,因此就如何操作扩展属性进行在此记录. 查询扩展属性 SELECT *,OBJECT_NAME(ma ...