利用mybatis-generator自動生成程式碼

johnychen發表於2021-09-09

mybatis-generator有三種用法:命令列、eclipse外掛、maven外掛。個人覺得maven外掛最方便,可以在eclipse/intellij idea等ide上可以通用。

下面是從官網上的截圖:(不過官網 最近一段時間,好象已經掛了)

圖片描述

一、在pom.xml中新增plugin

 1 
 2     org.mybatis.generator
 3     mybatis-generator-maven-plugin
 4     1.3.2
 5     
 6         src/main/resources/mybatis-generator/generatorConfig.xml
 7         true
 8         true
 9     
10     
11         
12             Generate MyBatis Artifacts
13             
14                 generate
15             
16         
17     
18     
19         
20             org.mybatis.generator
21             mybatis-generator-core
22             1.3.2
23         
24     
25 

其中generatorConfig.xml的位置,大家根據實際情況自行調整

二、generatorConfig.xml配置檔案

 1 
 2 generatorConfiguration
 3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4         "">
 5 
 6 
 7     
 9     
10         
11             
12             
13         
14 
15         
18 
19         
21             
22             
23         
24 
25         
27             
28         
29 
30         
32             
33         
34 
35         <!--
--&gt 39  40          44             <!----&gt 46         
47  48     
49 

幾個要點:
a) 因為生成過程中需要連線db,所以第3行指定了驅動jar包的位置

b) 15-17行為連線字串

c) 19-33行指定生成“entity實體類、mybatis對映xml檔案、mapper介面”的具體位置

d) 40-46行為具體要生成的表,如果有多個表,複製這一段,改下表名即可

 

三、使用方式

mvn mybatis-generator:generate

如果是在intellij 環境,直接滑鼠點選即可

圖片描述

 

最後給出目錄結構圖:

圖片描述

最後給一些小技巧:

a) 建表時,欄位名稱建議用"_"分隔多個單詞,比如:AWB_NO、REC_ID...,這樣生成的entity,屬性名稱就會變成漂亮的駝峰命名,即:awbNo、recId

b)oracle中,數值形的欄位,如果指定精度,比如Number(12,2),預設生成entity屬性是BigDecimal型 ,如果不指定精度,比如:Number(9),指預設生成的是Long型

c)oracle中的nvarchar/nvarchar2,mybatis-generator會識別成Object型,建議不要用nvarchar2,改用varchar2

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4301/viewspace-2808836/,如需轉載,請註明出處,否則將追究法律責任。

相關文章