成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iBATIS是什么?

開發(fā) 后端
iBATIS是什么呢?iBATIS的由來是什么呢?那么本文將會給你介紹一下iBATIS的基本信息。

iBATIS是什么呢?我們先來看看iBATIS一詞來源于“internet”和“abatis”的組合,是一個由Clinton Begin在2001年發(fā)起的開放源代碼項目。最初側(cè)重于密碼軟件的開發(fā),現(xiàn)在是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO),同時還提供一個利用這個框架開發(fā)的JPetStore實例。

相對Hibernate和Apache OJB等“一站式”O(jiān)RM解決方案而言,iBATIS是一種“半自動化”的ORM實現(xiàn)。

所謂“半自動”,可能理解上有點生澀。縱觀目前主流的 ORM,無論 Hibernate 還是Apache OJB,都對數(shù)據(jù)庫結(jié)構(gòu)提供了較為完整的封裝,提供了從 POJO 到數(shù)據(jù)庫表的全套映射機(jī)制。程序員往往只需定義好了POJO 到數(shù)據(jù)庫表的映射關(guān)系,即可通過 Hibernate或者OJB 提供的方法完成持久層操作。程序員甚至不需要對 SQL 的熟練掌握, Hibernate/OJB 會根據(jù)制定的存儲邏輯,自動生成對應(yīng)的 SQL 并調(diào)用 JDBC 接口加以執(zhí)行。

iBATIS是什么還要從它強(qiáng)大的功能出發(fā),大多數(shù)情況下(特別是對新項目,新系統(tǒng)的開發(fā)而言),這樣的機(jī)制無往不利,大有一統(tǒng)天下的勢頭。但是,在一些特定的環(huán)境下,這種一站式的解決方案卻未必靈光。在筆者的系統(tǒng)咨詢工作過程中,常常遇到以下情況:

1.系統(tǒng)的部分或全部數(shù)據(jù)來自現(xiàn)有數(shù)據(jù)庫,處于安全考慮,只對開發(fā)團(tuán)隊提供幾條Select SQL(或存儲過程)以獲取所需數(shù)據(jù),具體的表結(jié)構(gòu)不予公開。

2.開發(fā)規(guī)范中要求,所有牽涉到業(yè)務(wù)邏輯部分的數(shù)據(jù)庫操作,必須在數(shù)據(jù)庫層由存儲過程實現(xiàn)(就筆者工作所面向的金融行業(yè)而言,工商銀行、中國銀行、交通銀行,都在開發(fā)規(guī)范中嚴(yán)格指定)

3.系統(tǒng)數(shù)據(jù)處理量巨大,性能要求極為苛刻,這往往意味著我們必須通過經(jīng)過高度優(yōu)化的SQL語句(或存儲過程)才能達(dá)到系統(tǒng)性能設(shè)計指標(biāo)。面對這樣的需求,再次舉起 Hibernate 大刀,卻發(fā)現(xiàn)刀鋒不再銳利,甚至無法使用,奈何?恍惚之際,只好再摸出JDBC 準(zhǔn)備拼死一搏……,說得未免有些凄涼,直接使用 JDBC進(jìn)行數(shù)據(jù)庫操作實際上也是不錯的選擇,只是拖沓的數(shù)據(jù)庫訪問代碼,乏味的字段讀取操作令人厭煩。

“半自動化”的iBATIS,卻剛好解決了這個問題。

這里的“半自動化”,是相對Hibernate等提供了全面的數(shù)據(jù)庫封裝機(jī)制的“全自動化”O(jiān)RM 實現(xiàn)而言,“全自動”O(jiān)RM 實現(xiàn)了 POJO 和數(shù)據(jù)庫表之間的映射,以及 SQL 的自動生成和執(zhí)行。而iBATIS 的著力點,則在于POJO 與 SQL之間的映射關(guān)系。也就是說,iBATIS并不會為程序員在運行期自動生成 SQL 執(zhí)行。具體的 SQL 需要程序員編寫,然后通過映射配置文件,將SQL所需的參數(shù),以及返回的結(jié)果字段映射到指定 POJO。

使用iBATIS 提供的ORM機(jī)制,對業(yè)務(wù)邏輯實現(xiàn)人員而言,面對的是純粹的 Java對象,這一層與通過 Hibernate 實現(xiàn) ORM 而言基本一致,而對于具體的數(shù)據(jù)操作,Hibernate會自動生成SQL 語句,而iBATIS 則要求開發(fā)者編寫具體的 SQL 語句。相對Hibernate等“全自動”O(jiān)RM機(jī)制而言,iBATIS 以 SQL開發(fā)的工作量和數(shù)據(jù)庫移植性上的讓步,為系統(tǒng)設(shè)計提供了更大的自由空間。作為“全自動”O(jiān)RM實現(xiàn)的一種有益補(bǔ)充,iBATIS 的出現(xiàn)顯得別具意義。

iBATIS是什么?我們就先談到這里,關(guān)于iBATIS的相關(guān)我們會在別的文章中提及。

【編輯推薦】

  1. iBATIS也能用proxool連接池
  2. 實例說明iBATIS動態(tài)查詢
  3. 避免iBATISN+1查詢的方法
  4. iBATIS級聯(lián)解決登錄系統(tǒng)問題
  5. iBATIS標(biāo)簽詳解
責(zé)任編輯:仲衡 來源: 百度百科
相關(guān)推薦

2009-07-16 09:56:32

什么是iBATIS

2009-07-16 10:23:30

iBATIS工作原理

2009-07-21 17:31:39

iBATIS一對多映射

2009-07-16 09:46:20

iBATIS Log機(jī)

2009-07-16 10:53:11

iBATIS 使用

2017-03-21 23:29:44

DevOps運維開發(fā)

2009-07-20 13:47:08

iBATIS.NET字

2009-07-16 11:30:12

iBATIS發(fā)展方向

2009-07-22 16:27:24

iBATIS配置類iBATIS操作類

2009-07-20 16:07:19

Struts2.0 S

2009-07-21 11:12:00

iBATIS配置

2009-07-21 17:06:35

iBATIS.NET執(zhí)

2009-07-17 09:24:45

iBATIS分頁

2009-07-20 09:27:42

IBATIS.netDAO

2009-07-15 17:41:55

iBATIS事務(wù)處理

2009-07-16 13:51:47

iBATIS測試類

2009-07-07 16:50:39

ServletResp

2009-09-16 09:39:50

ccna是什么CCNA

2013-02-21 15:40:02

SDN

2011-06-07 16:56:40

LDAP
點贊
收藏

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

主站蜘蛛池模板: 欧美一区二区三区视频 | 粉嫩国产精品一区二区在线观看 | 99爱在线观看 | 99精品久久久国产一区二区三 | 夜夜爽99久久国产综合精品女不卡 | 久久国产激情视频 | 国产精品久久久爽爽爽麻豆色哟哟 | 免费成年网站 | 欧美激情啪啪 | 欧美亚洲视频在线观看 | 日韩在线观看网站 | 一级毛片视频在线 | 久久国产精品免费一区二区三区 | 国产精品一区二区久久 | 精品欧美激情在线观看 | 欧美日韩国产一区二区 | aaa国产大片 | 亚洲午夜精品在线观看 | 又黑又粗又长的欧美一区 | 国产精品网页 | 毛片a级| www.久久久久久久久久久久 | 日韩在线免费看 | 欧美亚洲日本 | 免费视频成人国产精品网站 | 国产专区在线 | 99精品国自产在线 | 久久国产精品一区 | 亚洲精品1区2区3区 91免费看片 | 丁香六月伊人 | 亚洲精品视频一区 | 久青草影院 | 久久综合激情 | 免费a国产 | 一区二区久久 | 国产精品一区二区av | 国产亚洲一区二区精品 | 成人免费视频网 | 欧美一区2区三区4区公司二百 | 精品一区二区三区在线观看国产 | 欧美国产精品 |