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.5</plugin.mybatis.generator> <mybatis.generator.generatorConfig.xml>${basedir}/src/test/resources/generatorConfig.xml</mybatis.generator.generatorConfig.xml> <mybatis.generator.generatorConfig.properties>file:///${basedir}/src/test/resources/generatorConfig.properties</mybatis.generator.generatorConfig.properties> </properties> ... <build> ... <plugins> ... <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>${plugin.mybatis.generator}</version> <configuration> <configurationFile>${mybatis.generator.generatorConfig.xml}</configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> </plugin> </plugins> </build> ...
|
generatorConfig.xml
核心配置
非常完整的 MBG 核心配置文件,配合文档效果更佳。因为有大量的注释篇幅长,建议复制到 xml 文件中查看
generatorConfig.xml 的文件位置要对应在 pom.xml 中的:
<mybatis.generator.generatorConfig.xml>${basedir}/src/test/resources/generatorConfig.xml</mybatis.generator.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>
<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.properties</mybatis.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