標籤:str res 不執行 com 沒有 方式 不可重複讀取 核心 可重複
基於aspectj的註解aop(會用)
使用註解方式實現aop操作
第一步 建立對象
第二步 在spring核心設定檔,開啟aop操作
aop:aspectj-autoproxy
第三步 在增強類上使用註解完成aop操作
Spring的jdbcTemplate操作
spring架構一站式架構
針對javaEE三層,每一層都有解決技術
在dao層,使用jdbcTemplate
spring對不同持久化技術的支援(jdbc,Hibemate5.0,IBatis(MyBatis),JPA)
jdbcTemplate對jdbc進行封裝
jdbcTemplate使用和dbutils使用很相似,都對資料進行crud操作
添加:
1、匯入相關jar包及資料庫驅動jar包
2、建立對象,設定資料庫資訊
3、建立jdbcTemplate對象,設定資料來源
4、調用jdbcTemplate對象裡面的方法實現操作
修改:
刪除:
查詢:
1、使用jdbcTemplate實現查詢操作
QueryRunner runner = new QueryRuner(datasource);
//返回對象
runner.query(sql,new BeanHandler<User>(User.class));
//返回list集合
runner.query(sql,new BeanListHander<User>(User.class));
在dbutils時,有介面ResultSetHandler
dbutils提供了針對不同的結果的實作類別
jdbcTemplate實現查詢,有介面RowMapper
jdbcTemplate針對這個介面沒有提供實作類別,得到不同的類型資料需要自己進行資料封裝
2、查詢的具體實現
第一 查詢返回某一個值
queryForObject(String sql,Class<T> requiredType)
第二個參數傳回型別是class(Integer.class)
第二 查詢返回對象
queryForObject(String sql,RowMapper,Object ..args)
第二個參數是 RowMapper介面,類似於dbutils裡面的介面
第三個參數是 可變參數
第三 查詢返回list集合
query(String sql, RowMapper, Object ...args)
Spring配置串連池和dao使用jdbcTemplate
1、spring配置c3p0串連池
第一步 匯入相關jar包
第二步 建立spring設定檔,配置串連池
ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();comboPooledDataSource.setDriverClass("com.mysql.jdbc.Driver");
comboPooledDataSource.setJdbcUrl("jdbc:mysql:///spring_jdbcTemplate");comboPooledDataSource.setUser("root");comboPooledDataSource.setPassword("123456");
把以上代碼在設定檔中進行配置
2、dao使用jdbcTemplate
(1)建立service和dao,配置service和dao對象,在service注入dao對象
(2)建立jdbcTemplate對象,把模板對象注入到dao裡面
(3)在jdbcTemplate對象裡面注入dataSource
Spring的交易管理
事務概念
1、什麼是事務
一組事務,要麼全部執行,要麼全部不執行。
2、事務特性
原子性、一致性、隔離性、持久性
3、不考慮隔離性產生的讀問題
髒讀、不可重複讀取、虛讀(幻讀)
4、解決讀問題
(1)設定隔離等級
Spring交易管理api
spring交易管理的兩種方式
第一種 編程式交易管理
第二種 聲明式交易管理
(1)基於配置xml設定檔實現
(2)基於註解實現
spring交易管理的api介紹
PlatformTransactionManager交易管理員
(1)spring針對不同的dao層架構,提供介面不同的實作類別
(2)首先 配置交易管理員
搭建轉賬環境
1、建立資料庫表,添加資料
2、建立service和dao類,完成注入關係
(1)service層又叫商務邏輯層
(2)dao層,單純對資料庫操作層,在dao層不添加業務
3、產生問題:
如果在一個人少了1000之後,出現異常,另一個人不會多1000
4、解決:
(1)添加事務解決,出現異常進行復原操作
聲明式交易管理(xml配置)
設定檔方式使用aop思想配置
第一步 配置交易管理員
ctrl shift + T 尋找dataSourceTransactionManager
第二步 配置事務增強
第三步 配置切面
聲明式交易管理(註解)
第一步 配置交易管理員
第二步 配置事務註解
第三步 在要使用事務的方法所在類上面添加註解
spring架構(三)