當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
学习笔记(Spring事务管理)
生活随笔
收集整理的這篇文章主要介紹了
学习笔记(Spring事务管理)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
maven中導入的依賴
學習時時候用的,所以就用的spring提供的orm組件
<dependencies><!--springioc--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.6.RELEASE</version></dependency><!--springaop--><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>5.2.6.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>5.2.6.RELEASE</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.5</version></dependency><!--spring自帶的orm--><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>4.3.7.RELEASE</version></dependency><!--druid連接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.21</version></dependency><!--mysql驅動--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version></dependency> </dependencies>2 spring xml文件配置
<?xml version="1.0" encoding="UTF-8"?> <context:component-scan base-package="com.yk"></context:component-scan> <context:property-placeholder location="classpath:db.properties"></context:property-placeholder><bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate"><property name="dataSource" ref="dataSource"></property> </bean> <bean class="com.alibaba.druid.pool.DruidDataSource" id="dataSource"><property name="driverClassName" value="${driver}"></property><property name="url" value="${url}"></property><property name="username" value="${username}"></property><property name="password" value="${password}"></property> </bean><!--開啟事務管理器基于注解--> <bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager" id="transactionManager"><property name="dataSource" ref="dataSource"></property> </bean> <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven> 在所需要開啟事務的方法中加上@Transactional 注解, 或者在類名上加注解也可以(這種表示類中所有方法都會開啟事務功能)。3.事務(數據庫操作的最小工作單元)
四大特性(ACID)
1.原子性 (Atomicity)原子性是指事務包含的所有操作要么全部成功,要么全部失敗回滾。2.一致性(Consistency)一致性是指事務必須使數據庫從一個一致性狀態變換到另一個一致性狀態,也就是說一個事務執行之前和執行之后都必須處于一致性狀態。拿轉賬來說,假設用戶A和用戶B兩者的錢加起來一共是5000,那么不管A和B之間如何轉賬,轉幾次賬,事務結束后兩個用戶的錢相加起來應該還得是5000,這就是事務的一致性。3.隔離性(Isolation)隔離性是當多個用戶并發訪問數據庫時,比如操作同一張表時,數據庫為每一個用戶開啟的事務,不能被其他事務的操作所干擾,多個并發事務之間要相互隔離。4. 持久性(Druability)持久性是指一個事務一旦被提交了,那么對數據庫中的數據的改變就是永久性的,即便是在數據庫系統遇到故障的情況下也不會丟失提交事務的操作。事務的隔離級別
不同數據庫會默認設置不同的隔離級別 Mysql 默認為Repeatable read 級別 ,而Oracle數據庫支持READ COMMITTED 和 SERIALIZABLE這兩種事務隔離級別。所以Oracle不會發生臟讀,SQL標準所定義的默認事務隔離級別是SERIALIZABLE,但是Oracle 默認使用的是READ COMMITTED。
4 Spring事務傳播特性
總結
以上是生活随笔為你收集整理的学习笔记(Spring事务管理)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringAop @AfterThro
- 下一篇: ApplicationContext和B