iBatis架構使用 編程4步__編程

來源:互聯網
上載者:User

   iBatis架構是Java持久層開發架構,說白了就是前人寫了一部分代碼(針對資料庫操作),我們要做的就是再次開發,拿來架構直接使用。

  我們自己開發時,dao層的sql語句都是寫死在程式中的,如果查詢條件改變什麼的都需要修改sql語句,這樣就得去修改原代碼,違背了開發原則中的開閉原則。有沒有一種實現讓sql不再寫死在程式裡,iBatis架構就可以使sql文活起來。

  iBatis是一個開源的項目,有興趣的可以去看看那些元老級的人物是怎麼將封裝的架構。本文旨在介紹它的使用。


第一步:搭建環境

  所謂的搭建環境就是拷貝iBatis的jar包到我們的項目中。這樣我們就可以使用架構中的相關類啦。

  由於iBatis是資料庫方面的操作,所以還有添加資料庫方面的jar包,我用的是oracle的資料庫,所以得到oracle的安裝目錄下面去找連結資料庫的ojdbc6.jar


第二步:編寫實體類和dao層介面及實現

  這裡需要做的就是將資料庫的表對應封裝成對象實體,定義Dao層的介面和實現,介面的具體實現這裡不需要寫,只需要把類準備出來,把介面準備出來就可以拉。


第三步:拷貝xml檔案

  將iBatis中的兩個xml檔案拷貝到項目中(下載的iBatis資料中會有相應的jar包和簡單的例子,例子中有xml檔案),一個是SqlMapConfig.xml是完成資料庫配置的檔案,另一個是實體類對應的xml檔案,本文以User.xml為例。

 需要注意的是這兩個檔案所放的位置,一般都是將SqlMapConfig.xml檔案拷貝到項目的根目錄下面,放在src下,實體類對應的xml檔案跟對應的實體放在一塊就行了。

  一個系統中就只有一個SqlMapConfig.xml檔案,檔案的名稱可以更改,是資料庫設定檔,檔案內容參考如下:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfig          PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"          "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"><sqlMapConfig>  <transactionManager type="JDBC" commitRequired="false">    <dataSource type="SIMPLE">      <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>      <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@localhost:1521:Orl"/>      <property name="JDBC.Username" value="scott"/>      <property name="JDBC.Password" value="tiger"/>    </dataSource>  </transactionManager>    <sqlMap resource="com/ibatis/bean/User.xml"/></sqlMapConfig>


 實體類的設定檔則有多個,是和實體類對應的。內容參考如下:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMap          PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"          "http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap>  <!--起別名-->  <typeAlias alias="UserType" type="com.ibatis.bean.User"></typeAlias>    <!--insert操作,parameterClass為參數的類型-->  <insert id="insertUserID" parameterClass="UserType">    insert into t_user (      username,      userpswd)    values (      #username#, #userpswd#    )  </insert>  <delete id="deleteUser" parameterClass="java.lang.String">  delete from t_user where username=#username#  </delete></sqlMap>

第四步:編寫dao層介面實現

 用了架構後,實作類別中就沒有sql語句了,在上面參考代碼中看到,sql語句都配置到對應的實體類對應的設定檔中拉,這樣實作類別的代碼就會變得很簡單,如下:



  這樣就可以實現對User的添加和刪除了,如果此時還不放心,可以添加個測試類別測試一次。

  

  使用架構,前提配置工作一定要做好。主要在設定檔上面。一定要仔細。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.