freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

j2ee項目實訓(xùn)spring框架技術(shù)——第9章spring中的事務(wù)管理技術(shù)及實現(xiàn)第2部分(編輯修改稿)

2024-12-23 16:16 本頁面
 

【文章內(nèi)容簡介】 管理實現(xiàn)的 模板 代碼 示例 Connection conn = null。 try{ conn = 。 (false)。 //(1) 缺省方式是自動提交 //完成對數(shù)據(jù)庫的修改操作 ,在此沒有列出細節(jié)代碼 ()。 //(2)自己提交 (確認數(shù)據(jù)修改的行為) } catch(Exception e){ ()。 //(3) 恢復(fù)修改 (回滾) //進行異常處理 } finally{ try{ ()。 //(4) 關(guān)閉數(shù)據(jù)庫連接 } catch(SQLException se){ //進行異常處理 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 8/18 頁 } } ( 3) JDBC 標準的事務(wù)管理實現(xiàn)代碼的主要缺點 從上面的 JDBC 標準的事務(wù)管理實現(xiàn)代碼中可以了解到,不僅所編程實現(xiàn)的代碼量比較長,而且也很容易疏忽或者忘掉一些異常捕獲等的 try/catch 語句。而且還必須在進行數(shù)據(jù)訪問之前將 JDBC 的自動提交模式改變?yōu)槭謩犹峤荒J剑?(false)。的功能 )。 Spring 框架 DAO 組件中的 JdbcTemplate 類的缺省的 事務(wù)管理 模式 ( 1) Spring 框架對 JDBC 事務(wù)管理 方式進行了進一步的包裝 對此讀者通過前面的 【例 98】中的 DataSourceTransactionManager 類的部分代碼示例中應(yīng)該能夠理解,這樣將能夠在一定的程度上簡化標準的 JDBC 的編程實現(xiàn)。因為,在Spring 框架中還提供了幾個與編程實現(xiàn)的事務(wù)處理技術(shù)相關(guān)的一些幫助類。 1) TransactionDefinition,實現(xiàn)對 事務(wù) 的 屬性 進行 定義 2) TranscationStatus,它 代表了當(dāng)前的事務(wù) 運行的狀態(tài),輔助 事務(wù)提交 和 回滾 等操作 3) PlatformTransactionManager 接口,它具體實現(xiàn)對 事務(wù) 的管理和控制行為 這些 幫助 類是 Spring 框架 提供的用于管理事務(wù)的基礎(chǔ) API ,由于PlatformTransactionManager 為接口,因此對該接口提供如下的一個實現(xiàn)的抽象類AbstractPlatformTransactionManager,并且在該類的基礎(chǔ)上又針對不同的事務(wù)資源提供了具體的實現(xiàn)類,比如在下面所要使用的事務(wù)管理類 DataSourceTransactionManager 等都是這個 AbstractPlatformTransactionManager 類的子類。 ( 2) JdbcTemplate 類的缺省的 事務(wù)管理 模式同樣也采用 JDBC 默認的 AutoCommit 模式 由于在 Spring 框架的 DAO 組件中的 JdbcTemplate 類中的各種數(shù)據(jù)訪問操作方法采用的是 JDBC 默認的自動提交( AutoCommit)模式,因此如果在實現(xiàn)某個轉(zhuǎn)帳系統(tǒng)中采用下面的示例中的代碼,將同樣也無法保證數(shù)據(jù)操作的原子性。 【例 913】 本 示例中的代碼將也無法保證數(shù)據(jù) 操作的原子性 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource)。 (Update InComeCount set money=money100 where id = 39。123439。)。 (Update OutComeCount set money=money100 where id = 39。123439。)。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 9/18 頁 其主要的錯誤原因是由于在 Spring 框架的 DAO 組件中的 JdbcTemplate 類采用了AutoCommit 模式,因此當(dāng)?shù)谝粭l update 的數(shù)據(jù)操作完成之后將被自動提交,此時的數(shù)據(jù)庫表中用戶 ID 號為“ 1234”的對應(yīng)的記錄中的數(shù)據(jù)已經(jīng)被更新,如果第二條 SQL 語句的操作出現(xiàn)了失敗,系統(tǒng)將無法使得整個事務(wù)回滾到最初的狀態(tài)。 ( 3)利用 DataSourceTransactionManager 類實現(xiàn)代碼控制的事務(wù)管理 類為 JDBC DataSource 類型的數(shù)據(jù)源的事務(wù)管理組件。 對于該組件的應(yīng)用,開發(fā)者只需要在 Spring 框架 IoC 容器的 XML 配置的 Bean 的定義配置文件中對它進行簡單的配置,然后將其通過屬性依賴注入引入到應(yīng)用系統(tǒng)的 DAO 組件類中。 使用 Spring 框架編程式的事務(wù)管理的基本流程 ( 1)首先聲明一個 基于 DataSource接口的 數(shù)據(jù)源 的實現(xiàn)類的對象實例 ( 2)其次聲明一個事務(wù)管理類,可以在下面的幾種形式中根據(jù)應(yīng)用系統(tǒng)的實際數(shù)據(jù)訪問平臺來合理地選擇其一,例如 DataSourceTransactionManager、 HibernateTransactionManger和 JTATransactionManager 等事務(wù)管理的具體實現(xiàn)類。 ( 3)最后在應(yīng)用系統(tǒng)的有關(guān)的組件代碼中加入事務(wù)處理控制的相關(guān)的代碼 使用 Spring 框架編程式的事務(wù)管理的代碼示例 在下面的 【例 914】中的 Spring 框架 編程式的事務(wù)管理的代碼示例中,其編程的代碼基本上是按照前面所描述的流程來實現(xiàn)的。其中的 dataSource對象實例是通過依賴注入而獲得的 。 當(dāng)然, 開發(fā)者 也可以直接將 JdbcTemplate類的對象實例以屬性注入的方式依賴注入 進來) 【例 914】 Spring 編程式的事務(wù)管理的代碼示例 TransactionDefinition td = new TransactionDefinition()。 TransactionStatus status = (td)。 try{ 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 10/18 頁 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource)。 (Update InComeCount set money=money100 where id = 39。123439。)。 (Update OutComeCount set money=money100 where id = 39。123439。)。 (status)。 } catch(Exception e){ (status)。 } 在 Spring 框架 中實現(xiàn)編程式的事務(wù)管理 的實例 下面通過某個項目中的 持 久層中的 DAO 組件中的某個數(shù)據(jù)訪問方法中應(yīng)用事務(wù)和不應(yīng)用事務(wù)所出現(xiàn)的各種結(jié)果,讓讀者體驗事務(wù)中的“原子性” 、“一致性” 和 Spring 框架中的編程式的事務(wù)管理的具體實現(xiàn)步驟。 對 DAO 組件中的某個數(shù)據(jù)訪問方法不應(yīng)用事務(wù)控制技術(shù) 在下面的 DAO 組件中的 updateOneUserInfo
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1