iBatis框架基本使用


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文件,文件的名稱可以更改,是數據庫配置文件,文件內容參考如下:

 

[html]  view plain  copy
 
 print?在CODE上查看代碼片派生到我的代碼片
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <!DOCTYPE sqlMapConfig        
  4.     PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"        
  5.     "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">  
  6.   
  7. <sqlMapConfig>  
  8.   <transactionManager type="JDBC" commitRequired="false">  
  9.     <dataSource type="SIMPLE">  
  10.       <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>  
  11.       <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@localhost:1521:Orl"/>  
  12.       <property name="JDBC.Username" value="scott"/>  
  13.       <property name="JDBC.Password" value="tiger"/>  
  14.     </dataSource>  
  15.   </transactionManager>  
  16.     
  17.   <sqlMap resource="com/ibatis/bean/User.xml"/>  
  18.   
  19. </sqlMapConfig>  



 

 實體類的配置文件則有多個,是和實體類對應的。內容參考如下:

 

[html]  view plain  copy
 
 print?在CODE上查看代碼片派生到我的代碼片
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <!DOCTYPE sqlMap        
  4.     PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"        
  5.     "http://ibatis.apache.org/dtd/sql-map-2.dtd">  
  6.   
  7. <sqlMap>  
  8.   
  9.   <!--起別名-->  
  10.   <typeAlias alias="UserType" type="com.ibatis.bean.User"></typeAlias>  
  11.     
  12.   <!--insert操作,parameterClass為參數的類型-->  
  13.   <insert id="insertUserID" parameterClass="UserType">  
  14.     insert into t_user (  
  15.       username,  
  16.       userpswd)  
  17.     values (  
  18.       #username#, #userpswd#  
  19.     )  
  20.   </insert>  
  21.   <delete id="deleteUser" parameterClass="java.lang.String">  
  22.     delete from t_user where username=#username#  
  23.   </delete>  
  24. </sqlMap>  


第四步:編寫dao層接口實現

 

 用了框架后,實現類中就沒有sql語句了,在上面參考代碼中看到,sql語句都配置到對應的實體類對應的配置文件中拉,這樣實現類的代碼就會變得很簡單,如下:

 

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

  

  使用框架,前提配置工作一定要做好。主要在配置文件上面。一定要仔細。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM