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

iBATIS不適合使用的四種情況淺析

開發(fā) 后端
iBATIS不適合使用的四種情況的原因是什么呢?iBATIS不適合使用的具體時(shí)期又是什么呢?本文將會(huì)向你逐一介紹。
iBATIS不適合使用的時(shí)期是什么呢?說(shuō)到這個(gè)問(wèn)題我們要首先看看iBATIS的特點(diǎn)每個(gè)框架都是建立在一定的規(guī)則和約束之上的。底層的框架,如JDBC,提供了一個(gè)靈活且完備的功能集合,但是它們使用起來(lái)卻更難也更繁瑣。高層的框架,如對(duì)象/關(guān)系映射工具,使用就更加方便并且可以幫你節(jié)省大量工作,但是它們是建立在更多的假設(shè)和約束的基礎(chǔ)上的,這使得它們只能適用于較少的應(yīng)用。

iBATIS是一個(gè)中層的框架。它比JDBC更高層一些,但是相對(duì)于對(duì)象/關(guān)系映射工具,又要更底層一些。這使得iBATIS處于一個(gè)很獨(dú)特的位置上,使它能夠適用于一些較為特別的應(yīng)用。在本書前面的部分,我們討論了為什么iBATIS對(duì)于多種應(yīng)用類型都是有用的,包括小的桌面應(yīng)用,和較大的、企業(yè)級(jí)的Web應(yīng)用——以及任何介于這兩者之間的應(yīng)用類型。那么,iBATIS不適用的場(chǎng)合是什么呢?下面幾節(jié)就將詳細(xì)描述不適合使用iBATIS的各種情況,并且給出有關(guān)替代方案的建議。

iBATIS不適合使用之1當(dāng)你能永遠(yuǎn)擁有完全控制權(quán)時(shí)

如果你能夠保證擁有對(duì)應(yīng)用設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)的完全控制權(quán),那你一定是一個(gè)非常幸運(yùn)的人。這在商業(yè)環(huán)境或者任何一個(gè)核心工作不是軟件開發(fā)的行業(yè)中都是非常少見的。然而,如果你在一個(gè)軟件公司工作,并且在開發(fā)一個(gè)你擁有完全設(shè)計(jì)控制權(quán)的且由你發(fā)售的產(chǎn)品時(shí),那么你可能恰好處于這種情況。

當(dāng)你具有完全控制權(quán)時(shí),就有充分理由使用一個(gè)完全的對(duì)象/關(guān)系映射方案,如Hibernate。你可以充分利用對(duì)象/關(guān)系映射工具所能提供的設(shè)計(jì)優(yōu)勢(shì)并提高生產(chǎn)率。可能根本沒(méi)有來(lái)自企業(yè)數(shù)據(jù)庫(kù)組的干擾,也不需要與遺留系統(tǒng)整合。此外,數(shù)據(jù)庫(kù)可能是與應(yīng)用一同部署的,這使得它屬于應(yīng)用數(shù)據(jù)庫(kù)的范疇(參見第1章)。使用Hibernate的應(yīng)用的一個(gè)很好的例子就是,Atlassian的JIRA。它們提供了一個(gè)問(wèn)題跟蹤軟件,作為一個(gè)他們可以完全控制的發(fā)布產(chǎn)品。

然而,還需要考慮應(yīng)用未來(lái)的發(fā)展。如果數(shù)據(jù)庫(kù)有可能超出應(yīng)用開發(fā)者的控制,那么你就必須仔細(xì)考慮一下使用對(duì)象/關(guān)系映射將對(duì)你的持續(xù)化策略帶來(lái)怎樣的影響。

iBATIS不適合使用之2當(dāng)你的應(yīng)用需要完全動(dòng)態(tài)的SQL時(shí)

如果你的應(yīng)用的核心功能是動(dòng)態(tài)生成SQL,那么iBATIS就是錯(cuò)誤的選擇。iBATIS支持非常強(qiáng)大的動(dòng)態(tài)SQL特性,這些特性又反過(guò)來(lái)支持高級(jí)查詢能力,甚至一些動(dòng)態(tài)更新功能。然而,如果你的系統(tǒng)中每個(gè)語(yǔ)句都是動(dòng)態(tài)地生成的,那么你***使用原始的JDBC,甚至可以創(chuàng)建你自己的框架。

iBATIS的強(qiáng)大功能之一就是它允許你擁有完全的自由,可以手工編寫和直接操作SQL。當(dāng)應(yīng)用中大部分的SQL都是從某些SQL生成類動(dòng)態(tài)地生成時(shí),這種優(yōu)勢(shì)就會(huì)很快喪失。

iBATIS不適合使用之3當(dāng)你并沒(méi)有使用關(guān)系數(shù)據(jù)庫(kù)時(shí)

對(duì)于關(guān)系數(shù)據(jù)庫(kù)之外的其他數(shù)據(jù)庫(kù),也存在可用的JDBC驅(qū)動(dòng)。對(duì)于平板文件,微軟Excel電子數(shù)據(jù)表,XML,以及其他類型的數(shù)據(jù)存儲(chǔ)平臺(tái),都有相應(yīng)的JDBC驅(qū)動(dòng)。雖然一些人在iBATIS中使用這些驅(qū)動(dòng)也獲得了成功,但是對(duì)于大多數(shù)用戶我們并不推薦使用這些驅(qū)動(dòng)。

iBATIS并不會(huì)對(duì)你的環(huán)境做出任何假設(shè)。但是它確實(shí)期望你使用的是真正的關(guān)系數(shù)據(jù)庫(kù),即支持事務(wù)、相對(duì)典型的SQL、和存儲(chǔ)過(guò)程這些語(yǔ)義的關(guān)系數(shù)據(jù)庫(kù)。即使一些非常著名的數(shù)據(jù)庫(kù)也可能不支持關(guān)系數(shù)據(jù)庫(kù)的某些重要特性。如MySQL的早期版本就不支持事務(wù),因此iBATIS不能很好地處理MySQL。幸運(yùn)的是,當(dāng)前的MySQL已支持事務(wù)并且還有一個(gè)非常符合規(guī)范的JDBC驅(qū)動(dòng)。

如果你使用的不是真正的關(guān)系數(shù)據(jù)庫(kù),我們推薦你***使用原始的JDBC,甚至更底層的文件I/O API。

iBATIS不適合使用之4當(dāng)iBATIS不起作用時(shí)

隨著社區(qū)提出的需求越來(lái)越多,iBATIS也不斷地實(shí)現(xiàn)了許多非常好的特性。然而,iBATIS是有其自己的發(fā)展方向和設(shè)計(jì)目標(biāo)的,這樣一來(lái)它有時(shí)候就有可能會(huì)同一些應(yīng)用的需求發(fā)生沖突。人們?cè)谲浖椭驴梢酝瓿珊芏嗌衿娴氖虑椋怯袝r(shí)候由于需求過(guò)于復(fù)雜,軟件可能會(huì)完全不起作用,iBATIS也是如此。雖然我們也可以在iBATIS中添加特性以支持這些復(fù)雜的需求,但是這么做可能會(huì)極大地提高復(fù)雜性,甚至可能會(huì)改變iBATIS框架的適用范圍。因此,我們不會(huì)修改框架。為了解決以上問(wèn)題,我們將提供可擴(kuò)展的接口,這樣你就可以擴(kuò)展iBATIS以滿足幾乎任何需求。事實(shí)上,有時(shí)候iBATIS就是不起作用。此時(shí),***另尋一個(gè)更好的解決方案,而不是“霸王硬上弓”地將iBATIS(或者其他任何框架)用在不合適的地方。

iBATIS不適合使用的時(shí)期就向你介紹到這里,那么通過(guò)介紹你是不是對(duì)iBATIS不適合使用的時(shí)期有點(diǎn)自己的認(rèn)識(shí)呢?

【編輯推薦】

  1. iBATIS DAO框架淺析
  2. iBATIS的Log機(jī)制淺談
  3. 什么是iBATIS
  4. iBATIS工作原理淺析
  5. iBATIS七大特性詳談
責(zé)任編輯:仲衡 來(lái)源: CSDN博客
相關(guān)推薦

2010-07-20 09:56:53

VDI部署

2017-05-18 08:14:48

NoSQL數(shù)據(jù)庫(kù)場(chǎng)景

2015-07-23 11:26:35

虛擬化負(fù)載類型

2022-07-12 14:04:19

Kafka

2013-08-16 10:00:45

VMwareOpenStack

2015-03-12 13:39:48

Hadoop場(chǎng)景大數(shù)據(jù)

2021-01-31 18:52:36

Rust開發(fā)Web API

2012-06-25 14:09:58

2017-09-01 11:59:59

Android

2018-07-29 07:58:34

物聯(lián)網(wǎng)IOT物聯(lián)網(wǎng)產(chǎn)品

2009-01-15 18:30:11

服務(wù)器虛擬化VMware

2009-10-14 08:30:22

Windows 7UAC企業(yè)部署

2022-07-28 13:11:45

箭頭函數(shù)前端代碼

2015-10-13 14:23:42

特質(zhì)適合創(chuàng)業(yè)

2010-09-13 17:53:22

2022-06-27 11:09:06

邊緣計(jì)算

2009-08-26 15:04:35

C#轉(zhuǎn)換

2013-08-13 14:33:17

程序員

2022-11-07 10:20:20

useEffects

2012-03-13 15:28:47

Kindle Fire傲游
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 精品视频一区二区三区在线观看 | 91大片 | 欧美在线视频免费 | 成人国内精品久久久久一区 | 韩国毛片一区二区三区 | 日日噜噜噜夜夜爽爽狠狠视频97 | 午夜av影院 | 国产区在线免费观看 | 2020天天操 | 欧美亚洲国产一区 | 国产精品久久 | 三级黄色网址 | 永久免费在线观看 | 色综久久 | 午夜精品在线观看 | 荷兰欧美一级毛片 | 欧美无乱码久久久免费午夜一区 | 欧美日韩综合一区 | 国产精品久久久久久久岛一牛影视 | 国产高清精品一区二区三区 | 国产精品资源在线观看 | 国产成人午夜电影网 | 欧美另类视频在线 | 亚洲精品欧美 | 日韩精品一区二区三区在线观看 | 久久最新 | 在线观看日韩av | 成人免费观看男女羞羞视频 | 成人免费一区二区三区视频网站 | 国产精品一区二区三级 | 成人精品国产免费网站 | 99久久中文字幕三级久久日本 | 日本一区二区高清不卡 | 天天拍天天草 | 日本中文字幕一区 | 亚洲精品一区二区网址 | 欧美成人一区二区三区 | 欧美h| 日韩欧美三级 | 成人一区二区三区在线观看 | www免费视频 |