/

Mybatis Generator 使用配置

MyBatis Generator (MBG) 是一个 Mybatis 的代码生成器。MBG 可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。 这样和数据库表进行交互时不需要创建对象和配置文件。MBG 的解决了对数据库操作有最大影响的一些简单的 CRUD(插入、查询、更新、删除)操作。

Mybatis Generator 文档

通过 Maven 运行 MBG

MyBatis Generator (MBG) 包含了一个可以集成到 Maven 构建的 Maven 插件,按照 Maven 的配置惯例,将 MBG 集成到 Maven 很容易。

pom.xml 配置

...
<properties>
...


<plugin.mybatis.generator>1.3.5plugin.mybatis.generator>

<mybatis.generator.generatorConfig.xml>${basedir}/src/test/resources/generatorConfig.xmlmybatis.generator.generatorConfig.xml>
<mybatis.generator.generatorConfig.properties>file:///${basedir}/src/test/resources/generatorConfig.propertiesmybatis.generator.generatorConfig.properties>
properties>
...
<build>
...
<plugins>
...

<plugin>
<groupId>org.mybatis.generatorgroupId>
<artifactId>mybatis-generator-maven-pluginartifactId>
<version>${plugin.mybatis.generator}version>
<configuration>
<configurationFile>${mybatis.generator.generatorConfig.xml}configurationFile>
<overwrite>trueoverwrite>
<verbose>trueverbose>
configuration>
plugin>
plugins>
build>
...

generatorConfig.xml 核心配置

非常完整的 MBG 核心配置文件,配合文档效果更佳。因为有大量的注释篇幅长,建议复制到 xml 文件中查看
generatorConfig.xml 的文件位置要对应在 pom.xml 中的:

<mybatis.generator.generatorConfig.xml>${basedir}/src/test/resources/generatorConfig.xmlmybatis.generator.generatorConfig.xml>


PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>







<properties url="${mybatis.generator.generatorConfig.properties}" />



<classPathEntry location="${mbg.drive.class.path}" />




<context id="mysql_mbg" defaultModelType="flat" targetRuntime="MyBatis3Simple">


<property name="autoDelimitKeywords" value="false" />

<property name="javaFileEncoding" value="UTF-8" />

<property name="javaFormatter"
value="org.mybatis.generator.api.dom.DefaultJavaFormatter" />

<property name="xmlFormatter"
value="org.mybatis.generator.api.dom.DefaultXmlFormatter" />


<property name="beginningDelimiter" value="`" />
<property name="endingDelimiter" value="`" />


<commentGenerator>
<property name="suppressAllComments" value="true" />
commentGenerator>



<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="${mbg.jdbc.url}" userId="${mbg.jdbc.username}"
password="${mbg.jdbc.password}">

jdbcConnection>


<javaTypeResolver
type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">

<property name="forceBigDecimals" value="false" />
javaTypeResolver>




<javaModelGenerator targetPackage="${mbg.model.package}"
targetProject="src/test/java">

<property name="constructorBased" value="false" />


<property name="enableSubPackages" value="false" />


<property name="immutable" value="false" />






<property name="trimStrings" value="false" />
javaModelGenerator>


<sqlMapGenerator targetPackage="${mbg.xml.mapper.package}"
targetProject="src/test/java">

<property name="enableSubPackages" value="false" />
sqlMapGenerator>







<javaClientGenerator targetPackage="${mbg.xml.mapper.package}"
type="XMLMAPPER" targetProject="src/test/java">

<property name="enableSubPackages" value="false" />


javaClientGenerator>




















<table tableName="test_handbook">

















<property name="useActualColumnNames" value="true" />

































table>
context>
generatorConfiguration>

相关的 properties 文件 generatorConfig.properties

generatorConfig.properties 要对应在 pom.xml 中的:

<mybatis.generator.generatorConfig.properties>file:///${basedir}/src/test/resources/generatorConfig.propertiesmybatis.generator.generatorConfig.properties>
# 数据库驱动 jar 路径
mbg.drive.class.path=/home/yifan/.m2/repository/mysql/mysql-connector-java/5.1.39/mysql-connector-java-5.1.39.jar
# 数据库连接参数
mbg.jdbc.driver=com.mysql.jdbc.Driver
mbg.jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
mbg.jdbc.username=root
mbg.jdbc.password=root
# 包路径配置
mbg.model.package=com.test.demo.mybatis
mbg.dao.package=com.test.demo.mybatis
mbg.xml.mapper.package=com.test.demo.mybatis

生成代码 方法一:Eclipse Maven 运行

如果是在 Eclipse 中,选择 pom.xml 文件,击右键先择:
Run AS > Maven Build… > 在 Goals 框中输入:mybatis-generator:generate
Console 中可以看 log

生成代码 方法二:Shell 运行

如果在命令行输入 Maven 命令即可,注意:一定是当前项目目录下运行该命令:

mvn mybatis-generator:generate

Eclipse Plugin 运行 MGB

详细见:MyBatis Generator - Running MyBatis Generator with Eclipse

1、如果使用这种方法,将不在依靠 Maven,pox.xml 中的配置将可以省去
2、加载 properties 文件需变化,自己一直没搞清楚 properties 的路径应该怎么写,后来变量就直接写在 generatorConfig.xml 中了。要是有明白的小伙伴,可以在下面留言
3、需要下载 plugin:Help > Eclipse Marketplace… > Search for “MyBatis Generator”;这个也是个局限,就是用的人还需要下载 Eclipse plugin,所以推荐上面使用 Maven 的方法

References