MyBatis知多少(12)私有數據庫

若是你從事軟件開發工做有了一段時間的話,那麼確定聽過關於「本身動手仍是花錢購買」 的爭論。該爭論是說,針對一個業務問題,咱們是應該本身動手構建本身的解決方案呢,仍是應 該花錢購買一個聲稱已經解決了此問題的軟件包。一般付出的代價是差很少的(不然也就沒什麼好爭論的了),但真正的權衡其實在於「本身動手所要花費的時間」與「花錢購買來的軟件包和 咱們要解決的問題的契合度」。本身構建的軟件固然能恰到好處地符合業務需求,但實現它確實 須要更多的時間。購買軟件包固然很是迅速,但有時又不必定能知足咱們全部的需求。基於這個 緣由,當決定購買軟件包時,咱們每每會在買回之後對它進行改造,修改它的私有數據庫,擴展 它所遺漏的特徵,這樣就能夠一箭雙鵰了。html

咱們其實能夠好好討論一下深刻別人的私有數據庫並修改它是一件多麼麻煩的事,但在此我想告訴你的只有一句話,私有數據庫毫不是爲了方便第三方修改而設計的。其設計中每每充滿了假設、限制以及非標準的數據類型,還有其餘像「請勿修改,不然後果自負」這樣的警告信號。 但企業爲了省錢,每每會不顧這些警告信號而作出一些驚人的事情。所以軟件開發人員就註定要 深陷在這些私有數據庫構成的叢林中,艱難探索了。數據庫

MyBatis在處理私有數據庫時一樣是一個很是優秀的持久化框架。一般這樣的數據庫只容許只 讀訪問,使用MyBatis時,對這樣的需求你大可放心,由於你能夠限制運行的SQL的類別。當需求 不容許數據庫更新時,MyBatis毫不會對數據庫執行任何神奇的更新操做。當須要更新時,私有數據庫每每對數據的組織方式很是挑剔。MyBatis容許編寫很是特定的更新語句以處理這種狀況。框架

若是說有什麼東西的存在是現代面向對象軟件開發人員的禍害的話,那麼無疑是遺留數據庫 了。遺留數據庫每每是曾經的企業數據庫。它們具備企業數據庫的各類複雜性和依賴關係。此外, 它們還具備終年累月的修改、快速修正、掩飾、繞彎路、繃帶解決方案以及技術限制所帶來的無盡的「傷痕」。更重要的是,遺留數據庫一般是在不只已通過時並且有時已徹底不被支持的老式 平臺上開發出來的。所以對於現代開發人員來講可能已經沒有適當的驅動程序和開發工具可用 了。工具

MyBatis對於遺留數據庫一樣是有幫助的。只要你正在工做的系統有合適的數據庫驅動程序可用,MyBatis就能夠像對其餘任何數據庫那樣發揮做用。事實上,MyBatis多是處理遺留數據庫問題最好的持久化框架了,由於它對數據庫的設計沒有作任何假設,因此即便是對於最讓開發人員頭痛的遺留數據庫,它也能夠處理。開發工具

系列文章:spa

MyBatis知多少(1)設計

MyBatis知多少(2)htm

MyBatis知多少(3)對象

MyBatis知多少(4)MyBatis的優點blog

MyBatis知多少(5)業務對象模型

MyBatis知多少(6)表現層與業務邏輯層

MyBatis知多少(7)持久層

MyBatis知多少(8)關係型數據庫

MyBatis知多少(9)不一樣類型的數據庫

MyBatis知多少(10)應用程序數據庫

MyBatis知多少(11)企業數據庫

相關文章
相關標籤/搜索