當前位置:開發者網絡 >> 技術教程 >> JSP教程 >> Java基礎 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
對像映射就這麼簡單
作者:未知
日期:2004-08-18
人氣:
投稿:xiaxia(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
像 Hibernate 和 OJB 之類的對象映射工具都非常風行——並且應當如此。這些工具將 JDBC 從 JDBC 程序設計中分離出來,從而使得編寫數據庫訪問代碼如同處理文件 I/O 一樣簡單。



最近一個有影響力的對象映射工具是iBATIS-Database Layer。iBATIS 不同於其它對像映射工具的地方在於它不是將對像映射到數據庫,而是將 SQL 映射為對象,反之將對像映射為 SQL。簡單的映射基礎使得具有 Java 和 SQL 經驗的開發人員很容易開始使用 iBATIS。

iBATIS-Database Layer 的核心是 XML 文件,例如:

<mapped-statement name="loadEmployee" result-class="tips.Employee">
select
emp_id as id,
last_name as lastName,
first_name as firstName,
title as title,
from employees

where emp_id = #value#
</mapped-statement>

創建一個 Employee 對象的動作直接映射到一個 SQL 語句。

創建能夠執行 SQL 的對象的方式如下:

public Employee getEmployeeById(Long id) {
Employee employee = (Employee) sqlMap.executeQueryForObject("loadEmployee",
id);
}

iBATIS-Database Layer 支持對各種手工數據庫操作動作的映射:插入、更新及刪除。它還具有其它對像映射工具的優點,比如說多數據庫支持、數據源配置、將依賴對像映射為屬性等等。使用 iBATIS 的另一個優點是其學習曲線比較溫和,因為你已經瞭解了SQL,這就相當於瞭解了 iBATIS 的一半。然而,有其好處的同時也會有其(最起碼是警告級的)壞處。

因為你是自己編寫 SQL,所以你可能會在 SQL 中使用針對某個特定數據庫的優化技術。使用針對特定數據庫的 SQL 意味著如果你決定更換數據庫那麼你就必須移值你的映射。

即使有這種警告,iBATIS-Database Layer 依然值得考慮。自己衡量一下,看看這個框架對你是否有所幫助。

相關文章: