Open-Open

          皇家撒拉哥薩
          posts - 32, comments - 3, trackbacks - 0, articles - 1

          ibatis開發人員指南(一)

          Posted on 2006-05-16 11:08 開源愛好者 閱讀(269) 評論(0)  編輯  收藏 所屬分類: iBATIS
          ibatis開發人員指南(一)
          作者:紫龍

          介紹

          歡迎來到iBATIS Database Layer!這個框架將讓你能夠更好的在JAVA應用中設計和實現實體層。這個框架有兩個主要的組成部分,一個是SQL Maps,另一個是Data Access Objects。另外還包括一些可能很有用的工具。

          SQL Maps

          Sql Maps是這個框架中最激動人心的部分,它是整個iBATIS Database Layer的核心價值所在。通過使用Sql Maps你可以顯著的節約數據庫操作的代碼量。SQL Maps使用一個簡單的XML文件來實現從javaBean到SQL statements的映射。跟其他的框架或者對象映射工具相比,SQL Maps最大的優勢是簡單。它需要學習的東西很少,在連接表或復雜查詢時也不需要復雜的scheme(怎么翻complex scheme?),使用SQL Maps, 你可以自由的使用SQL語句。

          Data Access Objects (DAO)

          當我們開發靈活的JAVA應用時,有一個好主意就是通過一個通用API層把實體操作的細節封裝起來。Data Access Objects允許你通過一個簡單接口的來操作數據,從而隱藏了實現的細節。使用DAO,你可以動態配置你的應用程序來訪問不同的實體存儲機制。如果你有一個復雜的應用需要用到幾個不同的數據庫,DAO可以讓你建立一個一致的API,讓系統的其他部分來調用。

          Utilities

          iBATIS Database Layer包含一系列的有用的工具,比如SimpleDataSource,JDBC DataSource 2.0(也包括3.0)的一個輕量級實現。ScriptRunner也提供了從單元測試到自動發布的數據庫準備工作。

          Examples

          ?跟這個框架一起有一個examples.zip,包含了一系列簡單的實例,在http://www.ibatis.com上有更多的例子,包括非常著名的Jpestore, 一個在線商店。(譯者注,藍色天空也有一系列的中文介紹和實例)

          About this Document

          本文介紹了iBATIS Database Layer最重要的功能,還有一些功用沒有寫出來,凡是沒有寫出來的這些,可以認為是不支持或者正在修改。這些功能可能不經過通知就修改了,所以最好不要使用它們。本文將盡可能保持與框架同步。請確認你兩者是否匹配。

          SQL Maps (com.ibatis.db.sqlmap.*)

          概念

          SQL Map API允許程序員很簡單的把JAVA對象映射到PreparedStatement參數或者ResultSets。SQL Maps的機制很簡單,提供一個框架,來實現用20%的代碼來實現80%JDBC的功能。

          How does it work?

          SQL Maps提供一個簡單的框架,通過XML描述來映射JAVABeans,MAP implementations甚至原始類型的包裝(String,Integer等)到JDBC PreparedStatement。想法很簡單,基本的步驟如下:

          1)提供一個對象作為參數(either a JavaBean, Map or primitive wrapper),The parameter object
          will be used setting input values in an update statement, or query values in a where clause (etc.).(感覺不譯為好,你說呢?)

          2)執行這個映射的statement,這一步是魔術發生的地方。SQL Maps框架將建立一個PreparedStatement實例(instance),使用前面提供的對象的參數,執行statement,然后從ResultSet中建立一個返回對象。

          3)如果是Update,則返回有多少行修改了,如果是查詢,則返回一個對象或者對象的集合。跟參數一樣,返回對象也可以是一個JAVABEAN,MAP或者一個primitive type wrapper。

          流程圖如下:

          流程圖.jpg
          主站蜘蛛池模板: 板桥市| 阳泉市| 荔浦县| 内江市| 万载县| 武穴市| 苗栗县| 泉州市| 宣汉县| 沧源| 泗阳县| 明溪县| 伊川县| 文昌市| 连州市| 株洲市| 桐柏县| 增城市| 焦作市| 绥芬河市| 广元市| 宝丰县| 东港市| 桓仁| 隆子县| 清丰县| 寻甸| 万安县| 阿克陶县| 东兰县| 新乐市| 高青县| 宁晋县| 金塔县| 开平市| 红原县| 游戏| 克山县| 金阳县| 阿城市| 西平县|