3 回答

TA貢獻1998條經驗 獲得超6個贊
mybatis是警察.
druid是武器庫(有很多槍).
jdbc是武器商(他們造槍給武器庫).
當你需要一次"除暴安良"時,你需要去找警察,警察從武器庫拿槍干活.
以往的開發,是你使用jdbc直接造槍,然后自己干活.
jdbc整合了:加載數據庫驅動,創建連接,寫原生語句,執行,關閉這些東西.
而mybatis是對jdbc的封裝,他允許你通過配置的形式,配置數據庫參數,并且允許你通過xml來寫動態sql語句.<if:test>讓你可以把sql變得靈活起來.并且還能將你的查詢結果直接映射到你想要的實體上面.
然后你就去配置你的用戶名,密碼,連接超時,等等.
等你下次使用mybatis時,他后面會根據你的配置,幫你加載數據庫驅動,創建連接,寫原生語句,執行,關閉.
但是mybatis發現,在你每次訪問都要重新創建創建連接,寫,關.很麻煩,所以mybatis說,我可以接受你再配置一個連接池,比如druid.
mybatis讓你指定連接池是誰,如druid.之后將原來自己需要搞的東西都交給druid.什么賬號了,密碼了.都給他,讓druid幫你創建一批連接,在你需要用的時候,mybatis從druid里面拿一個就行.
下面是一次簡單的訪問流程:
controller->service->dao->mapper
1.首先項目啟動時druid就已經使用jdbc創建好一堆連接了,留待后用.
2.當請求到mapper時,mybatis框架創建臨時類.
3.然后將動態sql進行替換重寫,變成原始的native sql.
4.從druid拿到一個連接.
5.將sql通過連接交給數據庫執行.
6.然后獲取執行結果.
7.mybatis進行將結果進行映射,返回數據.
說的有點亂,希望能說清楚吧...

TA貢獻2012條經驗 獲得超12個贊
.1、Spring Spring是一個開源框架,Spring是于2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業應用開發的復雜性而創建的。
添加回答
舉報