溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iBATIS不適合使用的情況有哪些

發布時間:2021-11-03 13:42:10 來源:億速云 閱讀:144 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關iBATIS不適合使用的情況有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

iBATIS不適合使用之1當你能永遠擁有完全控制權時

如果你能夠保證擁有對應用設計和數據庫設計的完全控制權,那你一定是一個非常幸運的人。這在商業環境或者任何一個核心工作不是軟件開發的行業中都是非常少見的。然而,如果你在一個軟件公司工作,并且在開發一個你擁有完全設計控制權的且由你發售的產品時,那么你可能恰好處于這種情況。

當你具有完全控制權時,就有充分理由使用一個完全的對象/關系映射方案,如Hibernate。你可以充分利用對象/關系映射工具所能提供的設計優勢并提高生產率??赡芨緵]有來自企業數據庫組的干擾,也不需要與遺留系統整合。此外,數據庫可能是與應用一同部署的,這使得它屬于應用數據庫的范疇(參見第1章)。使用Hibernate的應用的一個很好的例子就是,Atlassian的JIRA。它們提供了一個問題跟蹤軟件,作為一個他們可以完全控制的發布產品。

然而,還需要考慮應用未來的發展。如果數據庫有可能超出應用開發者的控制,那么你就必須仔細考慮一下使用對象/關系映射將對你的持續化策略帶來怎樣的影響。

iBATIS不適合使用之2當你的應用需要完全動態的SQL時

如果你的應用的核心功能是動態生成SQL,那么iBATIS就是錯誤的選擇。iBATIS支持非常強大的動態SQL特性,這些特性又反過來支持高級查詢能力,甚至一些動態更新功能。然而,如果你的系統中每個語句都是動態地生成的,那么你***使用原始的JDBC,甚至可以創建你自己的框架。

iBATIS的強大功能之一就是它允許你擁有完全的自由,可以手工編寫和直接操作SQL。當應用中大部分的SQL都是從某些SQL生成類動態地生成時,這種優勢就會很快喪失。

iBATIS不適合使用之3當你并沒有使用關系數據庫時

對于關系數據庫之外的其他數據庫,也存在可用的JDBC驅動。對于平板文件,微軟Excel電子數據表,XML,以及其他類型的數據存儲平臺,都有相應的JDBC驅動。雖然一些人在iBATIS中使用這些驅動也獲得了成功,但是對于大多數用戶我們并不推薦使用這些驅動。

iBATIS并不會對你的環境做出任何假設。但是它確實期望你使用的是真正的關系數據庫,即支持事務、相對典型的SQL、和存儲過程這些語義的關系數據庫。即使一些非常著名的數據庫也可能不支持關系數據庫的某些重要特性。如MySQL的早期版本就不支持事務,因此iBATIS不能很好地處理MySQL。幸運的是,當前的MySQL已支持事務并且還有一個非常符合規范的JDBC驅動。

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

iBATIS不適合使用之4當iBATIS不起作用時

隨著社區提出的需求越來越多,iBATIS也不斷地實現了許多非常好的特性。然而,iBATIS是有其自己的發展方向和設計目標的,這樣一來它有時候就有可能會同一些應用的需求發生沖突。人們在軟件幫助下可以完成很多神奇的事情,但是有時候由于需求過于復雜,軟件可能會完全不起作用,iBATIS也是如此。雖然我們也可以在iBATIS中添加特性以支持這些復雜的需求,但是這么做可能會極大地提高復雜性,甚至可能會改變iBATIS框架的適用范圍。因此,我們不會修改框架。為了解決以上問題,我們將提供可擴展的接口,這樣你就可以擴展iBATIS以滿足幾乎任何需求。事實上,有時候iBATIS就是不起作用。此時,***另尋一個更好的解決方案,而不是“霸王硬上弓”地將iBATIS(或者其他任何框架)用在不合適的地方。

感謝各位的閱讀!關于“iBATIS不適合使用的情況有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女