日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

学习笔记(Spring事务管理)

發(fā)布時間:2024/10/5 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习笔记(Spring事务管理) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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驅(qū)動--><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.事務(數(shù)據(jù)庫操作的最小工作單元)

四大特性(ACID)

1.原子性 (Atomicity)原子性是指事務包含的所有操作要么全部成功,要么全部失敗回滾。2.一致性(Consistency)一致性是指事務必須使數(shù)據(jù)庫從一個一致性狀態(tài)變換到另一個一致性狀態(tài),也就是說一個事務執(zhí)行之前和執(zhí)行之后都必須處于一致性狀態(tài)。拿轉(zhuǎn)賬來說,假設(shè)用戶A和用戶B兩者的錢加起來一共是5000,那么不管A和B之間如何轉(zhuǎn)賬,轉(zhuǎn)幾次賬,事務結(jié)束后兩個用戶的錢相加起來應該還得是5000,這就是事務的一致性。3.隔離性(Isolation)隔離性是當多個用戶并發(fā)訪問數(shù)據(jù)庫時,比如操作同一張表時,數(shù)據(jù)庫為每一個用戶開啟的事務,不能被其他事務的操作所干擾,多個并發(fā)事務之間要相互隔離。4. 持久性(Druability)持久性是指一個事務一旦被提交了,那么對數(shù)據(jù)庫中的數(shù)據(jù)的改變就是永久性的,即便是在數(shù)據(jù)庫系統(tǒng)遇到故障的情況下也不會丟失提交事務的操作。

事務的隔離級別

不同數(shù)據(jù)庫會默認設(shè)置不同的隔離級別 Mysql 默認為Repeatable read 級別 ,而Oracle數(shù)據(jù)庫支持READ COMMITTED 和 SERIALIZABLE這兩種事務隔離級別。所以O(shè)racle不會發(fā)生臟讀,SQL標準所定義的默認事務隔離級別是SERIALIZABLE,但是Oracle 默認使用的是READ COMMITTED。

4 Spring事務傳播特性

總結(jié)

以上是生活随笔為你收集整理的学习笔记(Spring事务管理)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。