最近抽空學習了Mybatis這個框架,在學習的過程中也找了很多的文章,個人感覺官網上的東西太多太雜,不適合許多希望一步步快速上手的朋友們,當然覺得查閱問題的時候可以直接通過官網找還比較快或者是StackOverflow,鑒于此原因把自己想把自己學習過程中的經驗留作筆記以供分享參考之用,盡量少繞彎路。因為想直接了解Mybatis的使用方式,而網上有許多學習文章是Mybatis與Spring的結合范例,或者說直接在Web Project項目下創立的范例,感覺對于只是純粹想了解那個東西怎么使用的朋友應該不需要那么多附加的條件,所以本系列中直接用最簡單的Java Project作范例演示。

  什么是Mybatis,前身iBatis(個人沒用過,所以沒什么發言權),引述官網的原意來說,Mybatis是支持普通SQL查詢,可以更簡單直接的操作SQL,存儲過程和高級映射的一種優秀的持久層框架,使用它基本可以消除所有的JDBC大麥和參數的手工設置以及結果集的檢索,其實個人使用下來感覺,其實主要工作都是在配置XML或者注解上,然后將接口和Java的POJO(普通Java對象映射成數據庫的記錄),個人沒用過Java的Hb,所以對于兩者之間的差異性也沒權限發表意見,我相信各個事物的產生總有它自己的目的。

  這段時間學習下來,其實對Mybatis來說主要的過程無法是以下幾步

  1. 從XML配置文件中獲取SessionFactory,然后由SessionFactory產生相應的Session。

  2. 是用Session對象對業務數據完成相應的CRUD操作(增刪改查)和相應的事務控制。

  3. 使用完畢后關閉相應的Session,以免過度占用資源

  4. 使用配置相應的Mapper xml文件進行業務實體的JavaBean與數據庫表之間做相應的Map操作

     

      戰前準備:

  1. 開發環境Eclipse JavaEE IDE,JDK 1.6,數據庫mysql 5.5

  2. 下載相應Jar包,以備后用

    mybatis-3.2.3.zip 解壓后拿出 mybatis-3.2.3.jar,=> 下載地址: http://code.google.com/p/mybatis/ (Mybatis核心包)

    mybatis-generator-core-1.3.1.jar => 下載地址: http://code.google.com/p/mybatis/wiki/Generator (Mybatis自動生成配置文件包)

    mysql-connector-java-5.1.26-bin.jar => 下載地址:http://dev.mysql.com/downloads/connector/j/ (Mysql 的jdbc驅動包)

  

  接下來大家可以再Eclipse下面建一個名為MybatisDemo的Java Project項目,按照如下圖中所示新建相應的包結構和文件夾結構,其中config與mapper分別為文件夾,

  包david.mybatis.demo與包david.mybatis.model下分別存放相應的demo運行程序與Javabean對象,lib文件夾下存放剛剛下載的那幾個第三方jar包。

            

  

  建完下面的目錄,我們可以添加相應的Jar包,如下圖

  

   完成后,執行下面SQL,建立DEMO所需的表結構,分別有3張表,Visitor(訪問者表),Website(網站表),Channel(頻道表) 

建表SQL

 

       所有這些都完成后,我們就要開始動手啦~

 

       就像開頭說的,Mybatis的所有配置都源于一份XML配置文件,我們需要在config文件夾下,新建名為mybatis_demo_config.xml的配置文件,這一份東西就是我們后面所需要操作的核心之一。

       在配置這個文件千萬要注意<configuration>節點內的元素都是有層級順序的要求的,不能夠隨意更換次序,否則在加載xml配置文件的時候會出現異常而導致后續操作不成功。

具體的節點說明大家可以查看http://mybatis.github.io/mybatis-3/zh/configuration.html#,這里只說比較常用的節點,typeAliases,environments,mappers。

       1. typeAliases => 別名節點,可以通過設置這個節點的屬性,這樣配置文件中其他需要實體名字的地方都可以使用此別名而不是完全限定名,例如 <typeAlias type="david.mybatis.model.Visitor" alias="Visitor" />

       2. environments => 環境節點,配置數據連接相關的信息

       3. mappers => 配置SQL映射語句。

       最簡單的配置如下:

XML配置

在包david.mybatis.demo下面新建一個名為MyBatisUtils類,里面存放獲取SqlSession與關閉SqlSession的方法,提煉出來方便多次復用。

MybatisUtils類

在包david.mybatis.model下面新建一個名為Visitor的類,用來作相應的OR Mapping。

Visit類

在包david.mybatis.demo下面新建一個VisitorMapper.xml,用來映射相應SQL語句。

這里要注意namespace=>david.mybatis.demo.IVisitorOperation一定要與對應這個包下面的實際文件名,IVisitorOperation否則無法成功加載相應的映射文件

VisitorMapper配置

接下來運行下面的程序

基本查詢

 

一個最簡單的執行結果就出來啦

 

這算是Mybatis系列的HelloWord,下回會講述關于使用接口的方式進行相應操作。



如果你覺得這篇文章對你有用,歡迎推薦[推薦]

如果你覺得文章內有錯誤歡迎指出^0^~

如果您想轉載本博客,請注明出處

如果您對本文有意見或者建議,歡迎留言

本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,否則作者保留追究法律責任的權利。