一个配置参考示例

为了方便学习 MBG,此处针对前面章节中提到的项目创建一个 MBG 的配置供大家参考。

在项目的 src/main/resources 中创建一个 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>
	<!-- <classPathEntry location="F:\.m2\repository\mysql\mysql-connector-java\5.1.38\mysql-connector-java-5.1.38.jar"/> -->

    <context id="MySqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>
        <property name="javaFileEncoding" value="UTF-8"/>

        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="addRemarkComments" value="true"/>
        </commentGenerator>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mybatis"
                        userId="root"
                        password="">
        </jdbcConnection>

        <javaModelGenerator targetPackage="test.model" targetProject="src\main\java">
            <property name="trimStrings" value="true" />
            <property name="rootClass" value="tk.mybatis.simple.model.BaseEntity" />
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="test.xml"  targetProject="src\main\resources"/>

        <javaClientGenerator type="XMLMAPPER" targetPackage="test.dao"  targetProject="src\main\java"/>

        <table tableName="%">
            <generatedKey column="id" sqlStatement="MySql"/>
        </table>
    </context>
</generatorConfiguration>

有关该配置有几点重要说明。

  1. context 属性 targetRuntime 设置为 MyBatis3Simple,主要是为了避免生成与 Example 相关的代码和方法,如果需要 Example 相关的代码,也可以设置为 MyBatis3。

  2. context 属性 defaultModelType 设置为 flat,目的是使每个表只生成一个实体类,当没有复杂的类继承时,使用起来更方便。

  3. 因为此处使用的数据库为 MySQL,所以前后分隔符都设置为 “`”。

  4. 注释生成器 commentGenerator 中配置了生成数据库的注释信息,并且禁止在注释中生成日期。

  5. jdbcConnection 简单地配置了要连接的数据源信息。

  6. javaModelGenerator 配置生成的包名为 test.model,这个包名可以根据自己代码的规范进行修改,targetProject 设置在 src\main\java 中。

  7. sqlMapGenerator 配置生成的 Mapper.xml 文件的位置,这里的 targetProject 设置为 src\main\resources,没有放在 src\main\java 中。

  8. javaClientGenerator 配置生成 Mapper 接口的位置,这里采用的 XMLMAPPER 类型,接口和 XML 完全分离。

  9. 最后的 table 使用通配符 “%” 匹配数据库中所有的表,所有表都有主键自增的 id 字段,sqlStatement 针对当前数据库配置 MySQL。

熟悉了 5.1 节中的配置后,可以根据自己的需要尝试修改这里的配置。有了配置文件后,下一节就可以开始学习如何执行 MBG 生成我们需要的类了。