自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iBATIS教程之快速入門淺析

開發(fā) 后端
iBATIS教程是iBATIS初學者需要掌握什么內(nèi)容呢?那么這篇文章就會告訴你。

iBATIS教程要從iBATIS的概念開始,它是又一個O/R Mapping解決方案,j2ee的O/R方案真是多,和Hibernate相比,iBATIS最大的特點就是小巧,上手很快。如果你不需要太多復雜的功能,iBATIS是能滿足你的要求又足夠靈活的最簡單的解決方案。

iBATIS最大的特點是簡單,最新版本2.0(下載),和1.0相比,主要改動在XML配置文件上,不過,只要有SQL基礎(chǔ),相信你不用教程也能看明白。下面我們看一個最簡單的例子入門。

我們先建一個表Account,包括字段username, varchar(20), pk和password, varchar(20),隨便填入一些數(shù)據(jù)。然后編寫iBatis必須的配置文件sql-map-config.xml,文件名隨意,內(nèi)容如下:

  1. ﹤?xml version="1.0" encoding="UTF-8" ?﹥  
  2. ﹤!DOCTYPE sqlMapConfig  
  3. PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"  
  4. "http://www.ibatis.com/dtd/sql-map-config-2.dtd"﹥  
  5. ﹤sqlMapConfig﹥  
  6. ﹤settings  
  7.     cacheModelsEnabled="true" 
  8.     enhancementEnabled="true" 
  9.     lazyLoadingEnabled="true" 
  10.     maxRequests="32" 
  11.     maxSessions="10" 
  12.     maxTransactions="5" 
  13.     useStatementNamespaces="false" 
  14. /﹥  
  15. ﹤transactionManager type="JDBC" ﹥  
  16.     ﹤dataSource type="SIMPLE"﹥  
  17.       ﹤property name="JDBC.Driver" value="sun.jdbc.odbc.JdbcOdbcDriver"/﹥  
  18.       ﹤property name="JDBC.ConnectionURL" value="jdbc:odbc:Blog"/﹥  
  19.       ﹤property name="JDBC.Username" value="admin"/﹥  
  20.       ﹤property name="JDBC.Password" value=""/﹥  
  21.     ﹤/dataSource﹥  
  22. ﹤/transactionManager﹥  
  23. ﹤sqlMap resource="Account.xml" /﹥  
  24. ﹤/sqlMapConfig﹥ 

其他部分你不用管它,我是直接copy的示例配置,只需注意紅色部分,配置好數(shù)據(jù)源即可。我用的是Access,所以用JdbcOdbc驅(qū)動。如果你用MySQL或其他數(shù)據(jù)庫,更改相應的屬性。

然后注意到這個配置文件還引用了一個Account.xml,沒錯,iBatis把每個需要O/R Mapping的Java對象關(guān)聯(lián)到一個xml配置文件,我們需要把一個Account表映射到一個Account類:

  1. package example;  
  2. public class Account {  
  3.     private String username;  
  4.     private String password;  
  5.  
  6.     public String getUsername() { return username; }  
  7.     public void setUsername(String username) { this.username=username; }  
  8.  
  9.     public String getPassword() { return password; }  
  10.     public void setPassword(String password) { this.password=password; }  

iBATIS之編寫Account.xml文件:

  1. ﹤?xml version="1.0" encoding="UTF-8" ?﹥  
  2. ﹤!DOCTYPE sqlMap  
  3. PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"  
  4. "http://www.ibatis.com/dtd/sql-map-2.dtd"﹥  
  5. ﹤sqlMap namespace="Account"﹥  
  6.  
  7. ﹤select id="getAccount" parameterClass="java.lang.String" resultClass="example.Account"﹥  
  8.     select * from Account where username = #value#  
  9. ﹤/select﹥  
  10.  
  11. ﹤insert id="createAccount" parameterClass="example.Account"﹥  
  12.     insert into Account (username, password)  
  13.     values ( #username#, #password# )  
  14. ﹤/insert﹥  
  15. ﹤/sqlMap﹥ 

我們主要關(guān)心以﹤select ...﹥?yōu)橹?,這里定義了一個查詢方法,名字為getAccount,傳入?yún)?shù)為String,返回類型resultClass就是 example.Account類,select語句相信你已經(jīng)很熟悉了,#value#是我們將要傳進去的String。

﹤insert...﹥ 與之類似,不過注意到#username#和#password#,由于參數(shù)是Account類,它們將被Account.getUsername()和 Account.getPassword()替換。所以,只要你會寫SQL,就能非常容易地寫出配置文件。

最后便是如何使用iBatis實現(xiàn)O/R映射。首先初始化iBatis獲得一個SqlMapClient對象:

  1.     com.ibatis.sqlmap.client.SqlMapClient sqlMap = null;  
  2.     try {  
  3.         java.io.Reader reader = om.ibatis.common.resources.Resources.getResourceAsReader ("sql-map-config.xml");  
  4.         sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);  
  5.     } catch (Exception e) {  
  6.         e.printStackTrace();  

然后就可以異常方便地使用O/R Mapping了,比如查詢username=admin的Account:

  1. try {  
  2.        Account accout = (Account)sqlMap.queryForObject("getAccount", "admin");  
  3.        ...  
  4.    } 

或者創(chuàng)建一個新的Account:

  1. try {  
  2.      Account account = new Account();  
  3.      account.setUsername("micheal");  
  4.      account.setPassword("1234");  
  5.      sqlMap.insert("createAccount", account);  
  6.  } 

運行時把兩個配置文件和iBatis的3個jar包放到classpath中,要求jdk1.4版本。

iBATIS總 結(jié):iBATIS確實簡單靈活,上手容易,代碼很少,配置稍嫌復雜。不足之處一是沒有方便的工具來自動生成xml配置文件,二是不管是query還是 insert都只能傳入一個參數(shù),有時不得不把兩個參數(shù)包裝成一個類傳進去。另外對常見的1:1,1:N關(guān)系的支持不如Hibernate。不過,大多數(shù) 時候iBATIS已經(jīng)完全可以滿足我們的需求。Spring很好的集成了iBATIS,你可以參考Spring的JPetStore示例。需要注意的是使 用iBatis 2.0和1.0有較大區(qū)別,主要體現(xiàn)在配置文件上,iBATIS2.0新增了DAO框架,不需要Spring提供的DAO也能很方便地實現(xiàn)DAO模式。

【編輯推薦】

  1. iBATIS分頁的一些理解
  2. iBATIS應用之SQLMap API編程淺析
  3. 動態(tài)Mapped Statement在iBATIS中應用
  4. iBATIS中添加DAO的配置淺析
  5. iBATIS DAO framework初體驗
責任編輯:仲衡 來源: 百度空間
相關(guān)推薦

2009-07-17 09:44:40

iBATIS教程

2009-07-21 15:05:43

2009-07-16 13:08:09

iBATIS快速創(chuàng)建應

2009-07-21 15:46:48

獲得output參數(shù)值iBATIS教程

2009-07-21 11:12:00

iBATIS配置

2009-07-22 13:32:43

iBATIS DAO

2009-07-15 17:58:07

iBATIS 動態(tài)映射

2009-07-16 10:23:30

iBATIS工作原理

2009-07-22 10:42:59

iBATIS Cach

2009-07-17 10:32:45

iBATIS MapB

2009-07-22 10:03:11

iBATIS Resu

2009-07-16 09:14:26

iBATIS DAO

2009-07-20 18:00:16

iBATIS DAO事

2009-07-15 17:19:31

iBATIS Ecli

2010-05-31 10:56:51

SVN服務器架設(shè)

2009-07-22 16:02:14

iBATIS參數(shù)

2009-07-17 10:59:59

iBATIS接口

2009-07-22 15:01:01

iBATIS SQLM

2009-07-17 17:05:44

iBATIS緩存cacheModel

2009-07-22 15:21:00

iBATIS SQLM
點贊
收藏

51CTO技術(shù)棧公眾號