跳到主要内容

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

版权声明


這是 google 廣告