国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

iBATIS教程之快速入門淺析

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

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

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

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

  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的示例配置,只需注意紅色部分,配置好數據源即可。我用的是Access,所以用JdbcOdbc驅動。如果你用MySQL或其他數據庫,更改相應的屬性。

然后注意到這個配置文件還引用了一個Account.xml,沒錯,iBatis把每個需要O/R Mapping的Java對象關聯到一個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﹥ 

我們主要關心以﹤select ...﹥為主,這里定義了一個查詢方法,名字為getAccount,傳入參數為String,返回類型resultClass就是 example.Account類,select語句相信你已經很熟悉了,#value#是我們將要傳進去的String。

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

最后便是如何使用iBatis實現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.    } 

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

【編輯推薦】

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

2009-07-17 09:44:40

iBATIS教程

2009-07-21 15:05:43

2009-07-16 13:08:09

iBATIS快速創建應

2009-07-21 11:12:00

iBATIS配置

2009-07-21 15:46:48

獲得output參數值iBATIS教程

2009-07-22 13:32:43

iBATIS DAO

2009-07-20 18:00:16

iBATIS DAO事

2009-07-16 09:14:26

iBATIS DAO

2009-07-17 10:32:45

iBATIS MapB

2009-07-15 17:19:31

iBATIS Ecli

2009-07-22 10:03:11

iBATIS Resu

2009-07-22 10:42:59

iBATIS Cach

2009-07-16 10:23:30

iBATIS工作原理

2009-07-15 17:58:07

iBATIS 動態映射

2009-07-15 16:42:03

iBATIS讀寫CLO

2009-07-22 09:44:05

iBATIS Para

2009-07-22 15:21:00

iBATIS SQLM

2009-07-17 17:05:44

iBATIS緩存cacheModel

2009-07-17 10:59:59

iBATIS接口

2009-07-22 16:02:14

iBATIS參數
點贊
收藏

51CTO技術棧公眾號

欧美高清视频在线观看| 亚洲欧美成人在线| 亚洲第一综合| 天堂网av成人| 亚洲精品videossex少妇| 青青免费在线视频| 国产婷婷色一区二区三区在线| 日韩久久久久久久| 忘忧草精品久久久久久久高清| 一本色道久久88综合亚洲精品ⅰ| 黄色精品免费看| 亚洲欧美电影院| 午夜免费高清视频| 国产酒店精品激情| 黄色一区三区| 国产精品多人| 国产精品99久久久久久人| 午夜免费欧美电影| 亚洲视频在线视频| 97人人在线| 在线观看三级视频欧美| 自拍偷拍精选| 国产色产综合色产在线视频| 在线观看18视频网站| 国产日韩欧美三级| 国产精品视频在线免费观看 | www.欧美亚洲| 伊人久久大香线蕉午夜av| 99久久夜色精品国产亚洲1000部| 国产精品av电影| 国产精伦一区二区三区| 欧美日韩在线观看视频小说| 国产+成+人+亚洲欧洲| 好吊妞视频这里有精品| 欧美不卡视频一区发布| 亚洲一区二区av| 粉嫩一区二区三区四区公司1| 亚洲天堂网站在线观看视频| 性欧美精品孕妇| 成人免费的视频| 日韩欧美猛交xxxxx无码| 久久久久国产精品厨房| 欧美性猛交久久久乱大交小说 | 91精品久久久久久久久久入口| 日韩1区2区| 国产国产精品人在线视| 欧美69wwwcom| 九9re精品视频在线观看re6| 日韩和欧美一区二区三区| 亚洲精品天堂成人片av在线播放 | 国产目拍亚洲精品99久久精品| 看av免费毛片手机播放| 亚洲视频在线观看一区| 最新av中文字幕| 欧美一区二区视频在线观看2022| 性欧美猛交videos| 亚洲美女av在线| 国产成人高清精品免费5388| 亚洲成年人网站在线观看| 日韩成人影音| 国精产品一区二区| yiren22亚洲综合| 国语自产精品视频在线看| 欧美天堂社区| 免费在线国产精品| 国产一区在线视频| 可以在线看的黄色网址| 色老汉av一区二区三区| 超碰人人在线| 欧美精品日韩| 视频二区一区| 成人午夜碰碰视频| 欧美香蕉爽爽人人爽| 欧美日韩成人在线| 欧美xxxx免费虐| 麻豆乱码国产一区二区三区| 欧洲福利电影| 国产一级做a爰片久久毛片男| 欧美国产1区2区| 日韩有码电影| 精品网站999www| 精品国产午夜肉伦伦影院| 日韩一区二区三区高清| 久久久久久久综合| 999精品网站| 日韩欧美中文免费| 蜜桃视频m3u8在线观看| 成人女保姆的销魂服务| 免费高清在线一区| 翔田千里在线视频| 亚洲人成电影网站| 亚洲福利电影| 日本精品一区二区三区四区| 日韩欧美在线视频| 精品亚洲自拍| 日韩国产美国| 欧洲av一区二区嗯嗯嗯啊| 日韩欧乱色一区二区三区在线| 国产主播欧美精品| 欧美国产日韩一二三区| 国产最新在线| 91视频免费在线观看| 26uuu另类欧美| 久久久久久久久免费视频| 国产激情视频一区| 成人一级片在线观看| 久久99亚洲网美利坚合众国| 国产精品老牛影院在线观看| 国产精品免费看片| 成人免费无遮挡| 精品一卡二卡三卡四卡日本乱码| 亚洲国产精品自拍| 在线免费观看亚洲| 97视频在线免费| 欧美一区二区精品| 国产日韩精品视频一区二区三区 | 欧美一卡2卡3卡4卡| 激情五月色综合亚洲小说| 色伊人久久综合中文字幕| 国产精品黄网站| 九九久久九九久久| 欧美性感一区二区三区| 日韩国产综合| 国产淫片免费看| 久久精品国产96久久久香蕉| 奇米一区二区三区av| 男人天堂综合| 91日韩在线播放| 亚洲人成电影网站色mp4| 国产精品17p| 91传媒久久久| 国产一区二区三区在线视频 | 久播影院第一理论片| 亚洲无线码在线一区观看| 久久国产麻豆精品| 免费**毛片在线| 成人国产精品久久久| 国产亚洲精久久久久久| 亚洲成人看片| 亚洲午夜激情| 欧美一级黄色片| 日韩亚洲国产精品| 欧美男男激情freegay| 91精品综合久久| 香港成人在线视频| 欧美亚韩一区| 大胆av不用播放器在线播放| 亚洲精品日产aⅴ| 欧美色图在线观看| 日韩亚洲精品在线| 欧产日产国产精品视频| 久久av喷吹av高潮av| www日韩欧美| 91美女视频网站| 一区二区精彩视频| 最新四虎影在线在永久观看www| 日韩免费在线观看视频| 日本久久精品电影| 黄色亚洲大片免费在线观看| 欧美6一10sex性hd| 久久最新免费视频| 97视频在线免费观看| 亚洲四区在线观看| 视频精品国内| 日本私人网站在线观看| 国产女主播一区二区三区| 日韩精品福利在线| 国产乱人伦偷精品视频不卡| 精品3atv在线视频| 日本黄色三级大片| 欧洲美女免费图片一区| 亚洲成人激情av| 蜜臀久久99精品久久久画质超高清| 国产伦理精品| 日本精品免费| 亚洲午夜激情免费视频| 丁香一区二区三区| 不卡中文字幕| 老司机精品影院| 国产综合免费视频| 欧美专区国产专区| 欧美成人精品二区三区99精品| 六月丁香婷婷色狠狠久久| 日本精品国产| 四色成人av永久网址| 免费不卡亚洲欧美| 久久久久久久久网站| 欧美丝袜美女中出在线| 国产一区二区三区免费看| 51vv免费精品视频一区二区| 日本在线视频站| 性高湖久久久久久久久aaaaa| 国产又爽又黄的激情精品视频| 精品视频1区2区| 久久久777精品电影网影网 | 4438x亚洲最大成人网| 国产色产综合色产在线视频| 久久久久久影院| 青青在线精品| 日色在线视频|