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

iBATIS工作原理淺析

開發(fā) 后端
iBATIS工作原理是什么呢?iBATIS在不同的系統(tǒng)中的角色是什么呢?那么本文將會向你介紹這方面的信息。

談到iBATIS工作原理問題尤其要注意的是,有了iBATIS,你就再不需要直接編寫JDBC代碼或ADO.NET代碼了。JDBC和ADO.NET的確非常強大,但使用起來總不免覺得太過繁瑣。代碼清單2-2給出了一個使用JDBC的例子。

代碼清單2-2  使用JDBC的代碼示例

JDBC的代碼 

從這個例子中很容易看出,使用JDBC API編寫代碼需要許多額外的工作。盡管如此,每一行代碼又都是必不可少的,所以要減少代碼量還真不是一件容易的事情。最多也只不過能將其中的一些代碼挪到某個實用方法(utility method)中,最明顯的就是那些關閉資源(如PreparedStatement和ResultSet)的代碼。

對于iBATIS工作原理其實,如果使用iBATIS,iBATIS在后臺也是運行這些相同的JDBC代碼。iBATIS會獲取數(shù)據(jù)庫連接,設置SQL語句的參數(shù),執(zhí)行SQL語句,獲取執(zhí)行結果,并在***關閉所有的資源。然而,你需要自己親自編寫的代碼量卻大大地減少了。代碼清單2-3給出了使用iBATIS運行相同的SQL語句時你需要編寫的代碼。

代碼清單2-3  iBATIS顯然比JDBC要精簡得多

iBATIS的代碼 

根本無須比較,iBATIS代碼明顯更加簡潔,更容易閱讀,因此也更容易維護。本章稍后會討論更多關于使用iBATIS的好處。但是現(xiàn)在,你最關心的可能是如何用Java代碼運行以上的“SQL語句”。其實就像你在之前的示例中已經(jīng)看到的,運行它僅僅需要一行簡單代碼:

  1. Employee emp = (Employee) sqlMap.queryForObject("getEmployee",new Integer(5));  

沒什么好多說的。這行代碼會執(zhí)行相應的SQL語句,設置其參數(shù)并返回一個真實的Java對象作為結果。SQL語句被“干干凈凈”地封裝在Java代碼之外的一個XML文件中。iBATIS負責管理幕后的所有資源,其運行的實際效果與我們之前所見的代碼清單2-2所示的JDBC的例子是完全一樣的。

這就引起一個問題,iBATIS對所有的系統(tǒng)來說都以一樣的方式工作嗎?或者它僅僅是適用于某一類特定的應用?以下幾節(jié)我們將回答這個問題,首先從iBATIS是多么的適合于小型應用說起。

2.1.iBATIS工作原理之于小型、簡單系統(tǒng)

小型應用通常只涉及一個數(shù)據(jù)庫,只有一些相當簡單的用戶接口和領域模型。它的業(yè)務邏輯層非常簡單,有時對一些簡單的只涉及增查改刪(CRUD:Create, Read, Update, Delete)操作的應用來說甚至根本就不存在業(yè)務邏輯。iBATIS之所以非常適合于小型應用,有3個原因。

***,iBATIS自己就很小并且簡單。它不需要服務器或者其他任何類型的中間件。不需要任何額外的基礎設施(infrastructure)。iBATIS也沒有任何第三方依賴。iBATIS的最簡安裝只需要2個JAR文件,總計不過375KB。除了需要配置一下你的SQL映射文件外,iBATIS不需要進行任何安裝,因此只需要幾分鐘時間你就可以擁有一個可工作的持久層了。

第二,iBATIS不會對現(xiàn)存應用的設計或者數(shù)據(jù)庫結構強加任何影響。因此,如果你有一個小型系統(tǒng),且已經(jīng)部分實現(xiàn)或者甚至已經(jīng)發(fā)布了,則你仍然可以重構你的持久層以使用iBATIS,這非常簡單。因為iBATIS很簡單,所以它根本不會使得應用的架構過分復雜。而如果使用對象/關系映射工具或者代碼生成工具,因為它們都事先就對應用以及數(shù)據(jù)庫的設計做了某些假設,因此它們不可能對應用的架構毫無影響。

***,只要你有過軟件開發(fā)的經(jīng)驗,相信你就不會懷疑,任何一個小軟件都幾乎不可避免地有一天會成長為一個大軟件。所有成功的軟件都有進一步成長的趨勢。這是一件好事,而我們接下來想說的就是,iBATIS同樣非常適合于大型系統(tǒng),它甚至可以擴展以滿足企業(yè)級應用的需要。

2.2 iBATIS工作原理之于大型、企業(yè)級系統(tǒng)

iBATIS就是為企業(yè)級應用而設計的。最重要的是,iBATIS在這個領域比之其他解決方案有著大量的優(yōu)點。iBATIS最初的創(chuàng)建者只有從大型應用到企業(yè)級應用系統(tǒng)的開發(fā)經(jīng)驗。這一類系統(tǒng)通常都涉及不止一個數(shù)據(jù)庫,且所有這些數(shù)據(jù)庫都是不可控的。在***章中我們討論了各種類型的數(shù)據(jù)庫,包括企業(yè)級數(shù)據(jù)庫、私有數(shù)據(jù)庫和遺留數(shù)據(jù)庫。作者創(chuàng)建iBATIS框架一個很重要的原因就是針對這樣的數(shù)據(jù)庫。因此,iBATIS擁有許多使其非常適合于企業(yè)應用環(huán)境的特點。

其實iBATIS適用于大型系統(tǒng)中的***個原因我們已經(jīng)說過了,不過這個原因的確很重要,所以我們還是想再強調一下:iBATIS沒有對你的數(shù)據(jù)庫模型和對象模型的設計做任何假設。不論你的應用中這兩個模型之間是多么不匹配,iBATIS都能適用。更進一步,iBATIS沒有對你的企業(yè)級應用的架構做出任何假設。不論你對數(shù)據(jù)庫是根據(jù)業(yè)務功能縱向劃分,還是按照技術橫向劃分,iBATIS都允許你高效地處理數(shù)據(jù)并將它們整合到你的面向對象的應用中去。

第二點,iBATIS的某些特性使得它能夠非常高效地處理大型數(shù)據(jù)集。iBATIS支持的行處理器(row handler)使得它能夠批處理超大型記錄集,一次一條記錄。iBATIS也支持只獲取某個范圍內的結果,這就使得你可以只獲取那些你當前亟需的數(shù)據(jù)。例如,假設你獲取了10,000條記錄,而你其實只需要其中的第500至600條,那你就可以簡單的僅獲取這些記錄。iBATIS支持驅動提示使得執(zhí)行這樣的操作非常高效。

***一點,iBATIS允許你用多種方式建立從對象到數(shù)據(jù)庫的映射關系。一個企業(yè)級系統(tǒng)只以一種模式工作的情況是非常少見的。許多企業(yè)級系統(tǒng)需要在白天執(zhí)行事務性的工作,而在晚上執(zhí)行批處理工作。iBATIS允許你將同一個類以多種方式映射,以保證每一種工作都能以***效的方式執(zhí)行。iBATIS同樣支持多種數(shù)據(jù)獲取策略。例如,你可以選擇對某些數(shù)據(jù)進行懶加載,也可以將一個復雜的對象圖只用一條聯(lián)合查詢SQL語句就同時加載完畢,從而避免嚴重的性能問題。

以上所說的這些似乎好像在自我推銷了。那么,既然我們已經(jīng)進入了這種狀態(tài),為何不繼續(xù)深入研究一下你需要使用iBATIS的理由呢?我們會在2.3節(jié)做這件事情。并且為了公平起見,在2.4節(jié)中,我們還會討論一些你不應該使用iBATIS的情況。

iBATIS工作原理淺析就到這里,那么現(xiàn)在你對iBATIS工作原理是不是有些了解了呢?

【編輯推薦】

  1. iBatis和Hibernate的較量淺析
  2. iBATIS動態(tài)映射淺析
  3. iBATIS DAO框架淺析
  4. iBATIS的Log機制淺談
  5. 什么是iBATIS
責任編輯:仲衡 來源: CSDN博客
相關推薦

2009-07-21 11:12:00

iBATIS配置

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-22 10:03:11

iBATIS Resu

2009-07-15 17:19:31

iBATIS Ecli

2009-07-22 10:42:59

iBATIS Cach

2009-07-15 17:58:07

iBATIS 動態(tài)映射

2009-07-22 15:21:00

iBATIS SQLM

2009-07-17 17:05:44

iBATIS緩存cacheModel

2009-07-15 16:42:03

iBATIS讀寫CLO

2009-07-16 13:08:09

iBATIS快速創(chuàng)建應

2009-07-22 09:44:05

iBATIS Para

2009-07-17 09:44:40

iBATIS教程

2009-07-17 10:59:59

iBATIS接口

2009-07-22 16:02:14

iBATIS參數(shù)

2009-07-22 15:01:01

iBATIS SQLM

2010-02-04 15:29:40

Android實用程序

2009-07-15 16:26:04

iBATIS Clob

2009-07-17 16:49:18

iBATIS XML配
點贊
收藏

51CTO技術棧公眾號

欧美日韩在线一区二区| 天天色图综合网| 爱啪视频在线观看视频免费| 综合一区中文字幕| 久久夜色精品亚洲噜噜国产mv| 欧美日韩激情网| 美女国产一区二区| 欧美国产91| 日本天堂一区| 免费污视频在线| 国产视频二区在线观看| 国产成人精品无码播放| 日韩性感在线| 国产精品三级在线| 久久天天躁夜夜躁狠狠躁2022| 亚洲一二三四在线| 99久久免费精品高清特色大片| 国内视频精品| 久久综合国产| 超碰成人久久| 日韩高清在线免费观看| 日韩成人视屏| 成人网av.com/| sm捆绑调教国产免费网站在线观看| 最色在线观看| 天堂在线一二区| 在线观看av网页| 亚洲精品偷拍视频| 四虎一区二区| 91一区二区三区| 国产精品亚洲自拍| 国产欧亚日韩视频| 日本伊人精品一区二区三区介绍| 久久视频在线播放| 欧美精品一区视频| 日韩欧美成人一区二区| 欧美日韩国产另类不卡| 69久久99精品久久久久婷婷| 欧美三级韩国三级日本一级| 一区二区三区在线观看免费| 经典三级在线| 神马久久影视大全| 六月丁香婷婷在线| 97dyy97影院理论片在线| 国产videos| 尤物视频网站在线观看| 成人一级片网站| 奇米影视四色在线| 精品久久99ma| 亚洲高清中文字幕| 8x8x8国产精品| 亚洲精品永久免费| 日韩在线精品视频| 国产精品亚洲视频在线观看| 91精品国产91久久久久久| 2014亚洲精品| 91九色视频在线| 亚洲欧洲精品一区二区三区波多野1战4| 欧美激情第六页| 亚洲国产精品久久久久爰色欲| 在线免费国产视频| 成人免费网站视频| 精品国产91乱码一区二区三区四区| 久久久久综合| 久久综合丝袜日本网| 一区二区三区欧美日韩| 日韩精品中文字幕久久臀| 久久成人人人人精品欧| 亚洲一区二区三区四区视频| 日韩成人三级视频| 国产在线91| 精品国产一级| 亚洲自啪免费| 久久精品在这里| 日韩一区二区三区四区五区六区| 午夜精品视频在线| 福利网在线观看| 欧美老女人性开放| 岳的好大精品一区二区三区| 国产黄人亚洲片| 欧美日韩亚洲丝袜制服| 国产成人avxxxxx在线看| 国产av麻豆mag剧集| 影音先锋男人在线资源| 911久久香蕉国产线看观看| 久久久久久久久久看片| 国产亚洲精品久久久久久牛牛| 国产精品日韩一区二区| 中文字幕国产在线| 久久porn| 久国产精品韩国三级视频| 国产欧美精品一区| 亚洲免费av片| 蜜桃网站成人| 菠萝菠萝蜜在线视频免费观看| 国产精品二区三区| 精品动漫3d一区二区三区免费版 | 国产成人精品电影久久久| 91福利入口| 超碰在线免费| 爱草tv视频在线观看992| 宅男噜噜噜66一区二区| 精品视频在线免费看| 久久久影院一区二区三区| 欧美日韩xx| 视频一区视频二区中文字幕| 色狠狠一区二区| 欧美不卡1区2区3区| 综合久久2019| 国产精品一级片在线观看| 国产午夜精品美女视频明星a级| 亚洲一区二区三区在线免费观看| 欧美极品视频| 福利在线视频网站| 国产韩日影视精品| 国产精品毛片无遮挡高清| 国产精品免费小视频| 日本在线观看| 久久伦理在线| 欧美精品一区二区三区在线播放| 国产欧美精品一区二区三区介绍| 在线观看a视频| 欧美aaa在线| 精品亚洲一区二区三区四区五区| 97av在线播放| 一个人看的免费网站www视频| 亚洲精品国产成人影院| 欧美性一级生活| 亚洲精品少妇一区二区| 美女av一区| 欧美日韩一区不卡| 加勒比海盗1在线观看免费国语版| 国产精品毛片视频| 欧美日韩国产不卡在线看| 看女生喷水的网站在线观看| 国产精一品亚洲二区在线视频| 久久久久久久国产精品| 欧洲一区精品| 久久国产综合精品| 色综合久久久久综合体桃花网| x99av成人免费| 日韩欧美亚洲区| 麻豆网站在线| 欧美男同视频网| 国产精品久久久久天堂| 欧美极品第一页| 婷婷激情四射五月天| 95精品视频| 中文av一区二区| 韩剧1988在线观看免费完整版| 乱小说综合网站| 五月综合激情婷婷六月色窝| 亚洲最大的免费| 牛牛影视一区二区三区免费看| 国产精品1024| 国产一区二区视频在线免费观看| 妖精一区二区三区精品视频| 久久天天躁狠狠躁夜夜躁 | 国产精品玖玖玖在线资源| 在线观看视频亚洲| 高清毛片在线观看| 欧美一区二区三区精品| 国产原创在线观看| 欧美一区在线视频| 伊人在我在线看导航| 精品免费视频.| 色青青草原桃花久久综合 | 久久只有精品| 亚洲激情一区二区| 狠狠色狠狠色综合系列| 国产精品va在线观看无码| 99久久国产综合精品女不卡| 青青在线视频免费| 一区二区三区在线观看视频| 一区 二区 三区| 在线播放91灌醉迷j高跟美女| xxx在线免费观看| 欧美一区二区三区啪啪| av中文字幕在线看| 欧美成人手机在线| 精品一区二区三| 久久久久久国产精品mv| 高清成人在线观看| 黄色免费影视| 欧美一区二区黄色| 国产麻豆一区二区三区| 国产欧美一区二区三区久久人妖| 日韩精品免费视频人成| 亚洲欧美久久久久| 欧美成人官网二区| 欧美自拍视频| 国产1区2区3区中文字幕| 亚洲成人7777| 偷拍视频一区二区三区| 91精品成人| 国产精品国产a| 激情小视频在线| 欧美尺度大的性做爰视频| 狠狠入ady亚洲精品| 男女视频在线看|