spring事務

Posted 陈先生的小板凳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring事務相关的知识,希望对你有一定的参考价值。

spring事物
spring事物其实就是对数据库事物的一种支持,没有数据库事物的话,spring本身是不能提供事物支持的;
在最开始使用原始的jdbc连接数据库进行炒操作是, 获取连接后可以使用connection.setAutoConmmit(false)
来关闭自动提交, 在最后通过connection.commit来确定提交事物,或是connection.rollback()来回滚事物;
而spring通过在相关的方法或类上面加上@transacntional 表示,spring再启动的时候会自动扫描这些类和方法,
并为其生成代理;
--------------------------------------------------------------------------------------------------
脏读:
当事物1 对数据库数据进行修改后,还未提交,此时事物2 对数据进行读取, 如果这时候事物一进行了回滚,
那么事物2 读取到的就是脏数据;
幻读:
第一个事物对一定范围的数据进行批量读取,第二个事物在这个范围里新加了一条数据,这时候事物1 就会丢失对新加
数据的读取;
不可重复读:
在一个事物中对某个数据读取了两次,但在两次之间其他事物对数据进行了修改, 这时两次读取到的数据可能是不一样
的;
--------------------------------------------------------------------------------------------------
事物隔离:
spring默认使用数据库的默认事物隔离级别,最高的事物隔离级别是顺序执行,但是这也是代价最高的,事物被处理成
顺序执行的;

--------------------------------------------------------------------------------------------------




















以上是关于spring事務的主要内容,如果未能解决你的问题,请参考以下文章

完全用 Linux 工作

如何在 Spring Boot 中记录 SQL 语句?

Spring 项目中把 SQL 语句写在 .sql 文件中

Spring @Sql Annotations,可以在所有测试之前运行一次吗?

springjdbc执行自定义sql

Spring Boot显示sql参数绑定?