SQL (Structured Query Language,結構化查詢語言)己經存在很長一段時間了。自從第一次提出“數據可以被規范化為一組相互關聯的表”這樣的思想以來,已經超過35年了。 從那時起,IT公司就投入了幾十億美元來開發RDBMS (relational database management system, 關系數據庫管理系統)。很少有哪一種軟件技術敢聲稱自己像關系數據庫和SQL那樣經受住了時間的考驗。確實,經過了那么長時間,關系技術背后仍然有巨大的推動力,並且它是世界上最大 的軟件公司的基礎性成果。所有的跡象都表明SQL仍然會繼續使用下去,至少30年。
MyBatis的建立正是基於這樣的思想:關系數據庫和SQL仍然很有價值,在整個產業范圍內對 SQL投資仍然是一個非常好的主意。我們可能都曾有過這樣的經歷,應用程序的源代碼(即使經歷了很多版本)隨着時間的流逝最終還是過時了,但它的數據庫甚至是SQL本身卻仍然很有價值。 在某些情況下我們也會看到一個應用程序已經被用其他的語句重寫了,但背后的SQL和數據庫卻 基本上保持不變。
正是基於這些原因,Mybatis並不試圖去隱藏SQL或者避免使用SQL。相反,正是Mybatis這個 持久層框架廣泛使用了SQL,它使得SQL更容易使用、更容易集成到現代的面向對象軟件中。最 近,有傳言說數據庫和SQL與我們的面向對象的設計理念不符,但事實並不一定是這樣。Mybatis能幫助我們避免這種問題。后面,我們將學習到Mybatis的歷史和基本原理,並討論影響其創建的動力。
在現實世界中,混合型解決方案隨處可見。將兩個看上去似乎相悖的思想在“中間處”巧妙 結合,被證明是一種有效的方法,它往往能恰到好處地解決問題,在某些情況下甚至會導致新興行業的誕生。汽車工業就是一個最典型的例子,運輸工具大部分的設計革新都來自於對不同 思想的混合。將小轎車與大篷貨車結合最終就形成了我們現在的家用房車。把卡車與越野車相結合,於是就有了現代城市人身 份的象征——運動型多功能車。將高速汽車與旅行汽車相 結合,於是就有了駕駛起來很舒服的家用小轎車。在汽油引擎旁邊安裝一個電力引擎,於是目前很多環境污摯問題就都可以迎刃而解了。
混合型解決方案在IT領域同樣被證明是非常有效的。MyBatis就是這樣一個混合型的持久層解決方案。在過去的時間中,大量的方法來使應用程序能夠執行SQL,以便操縱其背后的數據庫。MyBatis汲取了這些方法中的優秀思想,成為一個獨特的持久層解決方案。