1. 程式人生 > >mybatis的搭建和註入spring的方式

mybatis的搭建和註入spring的方式

針對 jar包 編寫 框架 target htm 想要 .com 數據庫數據

mybatis實際上是一個更多關註sql語句的框架,他的出現是想讓開發者更簡單的去操作數據庫。

與hibernate相比較,hibernate更多的是去sql化,雖然hibernate也可以本地sql執行,hibernate更多的是關註與hql的編寫和對象映射的配置,

只要配置完了,hibernate有封裝好的函數可以幫你執行操作數據庫,當然hibernate也是靠生產sql語句去實現操作數據庫的,值得註意的是

hibernate可以很容易的去適應不同類別的數據庫,只要配置更改一下就可以針對不同的數據庫生產不一樣的sql語句,hibernate的難點可能集中

於單雙邊和幾對幾po對象的配置問題。所以說一定程度上來說hibernate掌握的門檻可能比mybatis要高一些。

回過頭來,mybatis相對Hibernate“O/R”而言,mybatis是一種“Sql Mapping”的ORM實現。

你只需要再mybatis的對象映射文件xml中寫好自己的sql語句,並同時配置好入參和返回值類型,那麽mybatis就可以幫你po對象存到數據庫或者

將數據庫的數據映射到對象來,那麽在使用mybatis的時候其實主要工作就是寫sql了,然後就是一些配置規則的細枝末節。

今天我們要搭建mybatis,並順便整合到我們spring項目中,spring項目就是我之前的博客中《springMvc+hibernate的web application的構建》所構建成功的項目。

1mybatis當然少不了響應的jar包,3.2.7是我下載的jar包,當然不是最新的,最新我找了很久,有的是因為jar下載的鏈接卡住了,有的是因為csdn上下載的積分和c幣用光了。

下圖是我下載的jar包。

技術分享

因為咱們這個spring項目是web項目,直接丟到webContent下的lib裏面就好,既可以在application中的main函數執行,也可以再web服務器中運行,就很舒服。

然後在項目的src下放入我們的配置文件,配置文件如下:

技術分享

配置文件的位置如下:

技術分享

可以看到分為兩部分,一部分是關於連接數據庫的,另一部分是關於po配置的xml文件。

當然mybatis也需要jdbc.driver的,然後po的xml會稍後展示。

現在我們需要做的是建立好數據庫的表,以及po類的建立,以及po對應下xml配置問題。

我們一個個來看下:

技術分享

技術分享

技術分享

那麽,現在大家就可以看見了,通過參數類型的定義,返回值類型的定義,我們在其他地方調用這個sql語句的時候就

可以實現我們的數據庫操作了。

不過在執行這個操作的時候,我們應該先初始化好mybatis的配置文件,以便加載mybatis。

這個時候我們的下面代碼就可以做到了:

技術分享

當我們初始化好後,就可以做我們想要的操作了。

那新的問題又來了,我們如何將這個mybatis融入到我們的項目中呢?

其實方法有兩種,

1因為我們這個是spring項目,所以可以再spring的配置文件中加入這個MybatisOfSpringUtil類,之後需要的時候就可以通過

spring的上下文對象getBean方法獲得了。

2也就是我使用的方式,從上面的這個方法可以看到sqlSessionFactory這個變量是靜態的,且實現了單例模式的。直接在要使用的

地方調用MybatisOfSpringUtil.getSessionFactory()就好。不需要將這個類註入到spring中。

其實兩種方法都是可以的,一個是靠註入spring項目的時候初始化mybatis的配置文件,一個是靠第一次調用MybatisOfSpringUtil.getSessionFactory()

的時候去初始化mybatis配置文件。

當我們初始化好後,就可以在需要的時候調用了,也就意味在自己的項目中加好了mybatis框架。

我的調用是方式是:

技術分享

當然這款代碼是dao層的代碼。有了這塊代碼,其他層就可以調用了,從service層到MVC的controller層。

現在我們看看是否能運行成功。

現在我先再數據庫加一條記錄,而我們的sql語句是根據主鍵來獲取對象。

所以參數為1的時候能查到數據庫數據,其他的時候就不能查詢到數據庫數據。

controller層我判斷查詢的對象是否為null,來分別返回不同的頁面。

controller層代碼是:

技術分享

那麽id參數為1的時候coffe對象就不為null,其他的時候就為null。

我們再觀察頁面就知道mybatis是否起作用了。

我們先訪問: http://localhost:8080/springMvcOrm/anonymous.mvc?method=mybatisMethodTest&id=1

技術分享

然後再訪問:http://localhost:8080/springMvcOrm/anonymous.mvc?method=mybatisMethodTest&id=6

技術分享

ok,沒問題。說明mybatis就搭建成功了。

有什麽不明白的可以留言,我有空的時候會回來回復,也歡迎大家批評指正。

see you lala。。。

mybatis的搭建和註入spring的方式