Spring DAO 資料訪問物件

2021-08-30 07:07:24 字數 1200 閱讀 5751

spring提供的dao(資料訪問物件)支援主要的目的是便於以標準的方式使用不同的資料訪問技術, 如jdbc,hibernate或者jdo等。它不僅可以讓你方便地在這些持久化技術間切換, 而且讓你在編碼的時候不用考慮處理各種技術中特定的異常。

spring提供了一種方便的方法,把特定於某種技術的異常,如sqlexception, 轉化為自己的異常,這種異常屬於以dataacces***ception 為根的異常層次。這些異常封裝了原始異常物件,這樣就不會有丟失任何錯誤資訊的風險。

除了對jdbc異常的封裝,spring也對hibernate異常進行了封裝,把它們從一種專有的checked異常 (hibernate3.0以前的版本),轉化為一系列抽象的執行時異常。對jdo也是這樣。 它可以讓你輕鬆處理大多數持久化異常(這些異常大多是不可恢復的,而且只出現在特定 的層次),而不再需要討厭的樣板式catch/throw**塊和異常宣告。你仍然可以在需要 的地方捕獲並處理這些異常。就像我們上面提到的,jdbc異常(包括特定於某種資料庫 方言的異常)也可以被轉化為同樣的異常層次,這意味著你可以在一致的程式設計模型下,通 過jdbc來執行某些操作。

上述情況適用於各種使用模板方式的orm訪問框架。如果使用***方式,你在應用中 就得自己小心處理hibernateexception、 jdoexception等,最好是委託給 sessionfactoryutils的 converthibernateacces***ception、 convertjdoacces***ception等方法。這些方法可以把相應的異常轉 化為與org.springframework.dao中定義的異常層次相相容的異常。 其中jdoexception屬unchecked異常,它們則被簡單地丟擲, 儘管這在異常處理方面犧牲了通用的dao抽象。

下圖描述了spring使用的異常層次:

(注意上圖所包含的異常類只是整個龐大的dataacces***ception 異常層次中的一部分。)

為了便於以一種一致的方式使用各種資料訪問技術,如jdbc、jdo和hibernate, spring提供了一套抽象dao類供你擴充套件。這些抽象類提供了一些方法,通過它們你可以 獲得與你當前使用的資料訪問技術相關的資料來源和其他配置資訊。

dao支援類:

prev

home

next

chapter 9. 事務管理 

sponsored by inte***ce21

chapter 11. 使用jdbc進行資料訪問

資料訪問物件模式

資料訪問物件模式 data access object pattern 或 dao 模式用於把低階的資料訪問 api 或操作從高階的業務服務中分離出來。以下是資料訪問物件模式的參與者。我們將建立乙個作為模型物件或數值物件的 student 物件。studentdao 是資料訪問物件介面。studen...

PHP 資料訪問物件模式

資料訪問物件模式描述了如何建立透明訪問資料來源的物件。設計乙個basedao基類,實現資料庫操作基本的一些query,insert,update方法 在實際使用的過程中,繼承basedao,就可以直接呼叫基類的資料庫操作方法 資料訪問物件模式 將資料庫訪問層脫離出來 作為公用的訪問介面,方便使用者開...

設計模式 資料訪問物件模式

上文 設計模式 組合實體模式 經歷過jsp頁面請求jdbc然將資料庫中的資料直接查出後直接返回給控制器,然後jsp渲染的痛,相信經歷過的都很清楚,這樣的很難維護,而現在流行的mvc模式,其實m分為dao和entity兩層,dao負責與資料庫互動,而entity作為資料模型,很好起到了隔離作用。資料訪...