天天看點

Mybatis(七) mybatis的逆向工程的配置詳解

      還是覺得看書學習有意思~嘿嘿。今天把mybatis給結束掉。  

                  --WZY

一、什麼是逆向工程?

      簡單點說,就是通過資料庫中的單表,自動生成java代碼。

      Mybatis官方提供了逆向工程,可以針對單表自動生成mybatis代碼(mapper.java\mapper.xml\po類)

      企業中,逆向工程是個很常用的工具,之前我們就學習了hibernate的逆向工程,比我們手動建立映射檔案的配置資訊友善很多,

二、下載下傳逆向工程

      jar包下載下傳

            

三、建立java工程

      此步驟截圖略,

四、添加jar包

      逆向工程jar包,mybatis-generator-core-1.3.2.jar,每個人版本不一樣,這裡不一定就完全相同

      資料庫驅動包,使用的是mysql

五、建立核心代碼

      點選進入jar包的docs目錄下找到index.html來查詢複制核心代碼。

              

      點選index.html進入

      給出核心代碼友善日後直接複制

核心代碼

六、建立generatorConfig.xml配置檔案

      根據上面的核心代碼,仔細看一下不難發現,其運作需要加載一個generatorConfig.xml配置檔案,在index.html中也有該配置檔案的模版。

                

      這個也比較清楚,下面有什麼不懂的都有做出解釋,但是我們不這樣直接複制,我給出一份好的,有注釋的,日後直接複制改點資料即可

      在我上面框出來的地方就是需要修改的地方,根據自己的實際情況來進行修改,并且這裡的配置檔案是将資料庫中的user、orders、orderdetail、items這四張表進行逆向,配置檔案中需要指定需要逆向生成的表的名稱

generatorConfig.xml

      注意核心代碼中加載generatorConfig.xml的配置檔案的位置需要寫正确,根據你自己的存放位置進行相應的修改,并不是固定的。

七、目錄結構

      完成核心代碼和其配置檔案之後的工程就成這樣了,然後直接運作核心代碼就會自動幫我們從資料庫中指定的表生成mybatis的mapper類。

      運作Generator.java  

      

      這裡需要注意一個問題,點選運作之後,就已經幫我們生成好了對應的類,但是我們需要手動重新整理項目才看得見,有些人就會覺得看不見,以為沒有生效,然後又第二次運作核心代碼,這裡就會出現一個很嚴重的問題,[Mapper.xml檔案已經存在時,如果進行重新生成則mapper.xml檔案時,内容不被覆寫而是進行内容追加,結果導緻mybatis解析失敗]

      解決辦法:删除生成的所有類和mapper.xml,重新在運作一遍即可。

    

      生成之後的目錄

      其他都不用說,說兩個地方

        第一:mapper接口報錯了,這裡不用管,報的錯的原因是缺少mybatis核心的jar包,和mapper接口中卻用到了這些類,是以就會報錯,

          解決:加入所需要jar包錯誤消失,但是我們不會這樣做,因為這個項目就是用來生成mapper相關類的,加入jar包沒什麼用,多此一舉,我們需要用的時候将其加入我們開發時的項目中,就不會在報錯了。

        第二:生成的持久化對象中,多了一個xxxExample.java類,這個類是用來[構造複雜的篩選條件],通俗點講就是[專門用來封裝自定義查詢條件],等會會介紹他的使用方法。

八、測試

      将我們逆向工程所生成的mapper相關的類和接口等東西都加入到我們開發的項目中來,進來實驗,這裡就不過多陳述了,不會的話,就看前幾章節的mybatis的建構和使用

      目錄

      這裡我們将Items相關的類,都加入到與spring內建的項目中去,框起來的就是我們從逆向工程中擷取到的。注意,逆向工程就是使用mapper方式進行開發,而不是dao方式

      測試,OrderMapperTest.java    

模糊查詢,使用xxxExample

                                  

九、總結

      這裡就将mybatis的逆向工程給講完了,一點都不難,一步步實作下去即可,關鍵是後的多的那個xxxExample類可能大家有一點不了解,下一篇文章會将其講解清楚,詳細介紹一下這個類。這一節就學會如何建立逆向工程即可。