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汲取了這些方法中的優秀思想,成爲一個獨特的持久層解決方案。設計