虽然 JPA 很方便,但是写了十几年的 SQL,在遇到比较复杂的状 况还是习惯直接用 MyBatis 写SQL搞定比较直觉,但是 MyBatis 有不少固定的 Mapping 生成文件,手动去写还蛮烦人的,这时就需要 MyBatis Generator 了
官网
https://mybatis.org/generator/
安装 Eclipse Plugin
在 Eclipse Marketplace 搜寻 MyBatis Generator,直接安装
建立一个 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
执行后会产生 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 的路径了