生成器設計思路: 連接資料庫 -> 獲取表結構 -> 生成檔案
1 下載與安裝
- 官網檔案入口

- 最方便的 maven 插件使用方式

- 貼至pom 檔案

2 新建組態檔
- 填充配置資訊(官網示例)

- 專案實體
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<classPathEntry location="/Volumes/doc/jar/mysql-connector-java-8.0.18.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
<commentGenerator>
<property name="suppressAllComments" value=https://www.cnblogs.com/JavaEdge/p/"true"/>
3 生成檔案
- 默認不覆寫已有檔案,重復生成檔案后果


- 不過,可以設定可覆寫

但是注意,對于 xml 檔案的內容是追加生成的,不會覆寫!怎么解決呢? - 尋找插件

- 選用該插件

- 修改組態檔

命令列生成
mvn mybatis-generator:generate
插件運行
- Maven 插件按鈕

- gradle 插件按鈕

生成成功


可多次執行,類會覆寫,但是設計 mapper 的 xml 檔案會重復生成
附 :組態檔詳解
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<!-- 配置生成器 -->
<generatorConfiguration>
<!-- 可以用于加載配置項或者組態檔,在整個組態檔中就可以使用${propertyKey}的方式來參考配置項
resource:配置資源加載地址,使用resource,MBG從classpath開始找,比如com/myproject/generatorConfig.properties
url:配置資源加載地質,使用URL的方式,比如file:///C:/myfolder/generatorConfig.properties.
注意,兩個屬性只能選址一個;
另外,如果使用了mybatis-generator-maven-plugin,那么在pom.xml中定義的properties都可以直接在generatorConfig.xml中使用
<properties resource="" url="" />
-->
<!-- 在MBG作業的時候,需要額外加載的依賴包
location屬性指明加載jar/zip包的全路徑
--!>
<!-- windows下路徑, D:\downloads\xxx.jar -->
<classPathEntry location="/Volumes/doc/jar/mysql-connector-java-5.1.6.jar" />
<!--
context:生成一組物件的環境
id:必選,背景關系id,用于在生成錯誤時提示
defaultModelType:指定生成物件的樣式
1,conditional:類似hierarchical;
2,flat:所有內容(主鍵,blob)等全部生成在一個物件中;
3,hierarchical:主鍵生成一個XXKey物件(key class),Blob等單獨生成一個物件,其他簡單屬性在一個物件中(record class)
targetRuntime:
1,MyBatis3:默認的值,生成基于MyBatis3.x以上版本的內容,包括XXXBySample;
2,MyBatis3Simple:類似MyBatis3,只是不生成XXXBySample;
introspectedColumnImpl:類全限定名,用于擴展MBG
-->
<context id="mysql" defaultModelType="hierarchical" targetRuntime="MyBatis3Simple" >
<!-- 自動識別資料庫關鍵字,默認false,如果設定為true,根據SqlReservedWords中定義的關鍵字串列;
一般保留默認值,遇到資料庫關鍵字(Java關鍵字),使用columnOverride覆寫
-->
<property name="autoDelimitKeywords" value=https://www.cnblogs.com/JavaEdge/p/"false"/>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/32568.html
標籤:大數據
