跳至主要内容

MyBatis Generator 簡單使用筆記

· 3 分鐘閱讀
Eric Cheng

雖然 JPA 很方便,但是寫了十幾年的 SQL,在遇到比較複雜的狀況還是習慣直接用 MyBatis 寫SQL搞定比較直覺,但是 MyBatis 有不少固定的 Mapping 生成文件,手動去寫還蠻煩人的,這時就需要 MyBatis Generator 了

官網

https://mybatis.org/generator/

安裝 Eclipse Plugin

在 Eclipse Marketplace 搜尋 MyBatis Generator,直接安裝

myBatis-generator-1

建立一個 gradle 專案

build.gradle 增加 dependencies

請自行增加自己使用 db 的 jdbc driver,以下的程式是用 postgresql

dependencies {
implementation 'org.mybatis.generator:mybatis-generator-core:1.4.0'
implementation 'org.postgresql:postgresql:42.2.20' // 請自行置換 jdbc driver
}

如果有安裝 plugin ,在專案按右鍵選 New

myBatis-generator-2

執行後會產生 default MyBatis Generator Configuration File

generatorConfig.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>
<context id="context1">
<jdbcConnection connectionURL="???" driverClass="???" password="???" userId="???" />
<javaModelGenerator targetPackage="???" targetProject="???" />
<javaClientGenerator targetPackage="???" targetProject="???" type="XMLMAPPER" />
<table schema="???" tableName="???">
<columnOverride column="???" property="???" />
</table>
</context>
</generatorConfiguration>

使用預設值會有一堆註解,一堆 example, count 之類的東西,基本我都用不到

以下是我習慣的設定,簡化很多,大家可以依自己的習慣設定

<?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>
<context id="my" targetRuntime="MyBatis3">

<!-- 去除生成代碼的註解 -->
<commentGenerator>
<property name="suppressDate" value="false" />
<property name="suppressAllComments" value="true" />
</commentGenerator>

<!-- 資料庫連線設定 -->
<jdbcConnection driverClass="org.postgresql.Driver"
connectionURL="jdbc:postgresql://127.0.0.1:5432/onlytest" userId="???" password="???" />

<!-- 要產生的model位置,targetProject的值為專案的Source folder -->
<javaModelGenerator
targetPackage="projectname.vo.mg" targetProject="projectname\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>

<!-- 要產生的MyBatis Mapper位置 -->
<sqlMapGenerator
targetPackage="projectname.dao.mg" targetProject="projectname\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>

<!-- 要產生的MyBatis Dao位置 -->
<javaClientGenerator
targetPackage="projectname.dao.mg" targetProject="projectname\src" type="XMLMAPPER">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>

<!-- 要生成的資料表 -->
<table schema="" tableName="???" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
</table>

</context>
</generatorConfiguration>

點 generatorConfig.xml 按右鍵 選「Run MyBatis Generator」,程式就會產生在 targetProject 的路徑了

myBatis-generator-3



版權聲明

,轉載請註明出處
本文連結: https://tech.havocfuture.tw/blog/mybatis-generator



這是 google 廣告