美文网首页Java 杂谈
mybatis自动生成映射和实体定义的方法

mybatis自动生成映射和实体定义的方法

作者: belllee | 来源:发表于2018-04-25 15:43 被阅读0次

    前提条件

    假设mybatis的相关依赖已经引入。这里只描述如何自动生成mybatis的映射和实体定义文件的方法。

    pom配置

    在pom文件中增加如下配置

    <build>
      <plugins>
        <!-- 自动生成实体类 -->
        <plugin>
          <groupId>org.mybatis.generator</groupId>
          <artifactId>mybatis-generator-maven-plugin</artifactId>
          <version>1.3.2</version>
          <configuration>
            <verbose>true</verbose>
            <overwrite>true</overwrite>
          </configuration>
        </plugin>
      </plugins>
    </build>
    

    规则配置

    在src/main/resource目录中增加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="D:\maven\repo\mysql\mysql-connector-java\5.1.40\mysql-connector-java-5.1.40.jar" />
        <context id="DB2Tables" targetRuntime="MyBatis3">
            <commentGenerator>
                <property name="suppressDate" value="true"/>
                <property name="suppressAllComments" value="false"/>
            </commentGenerator>
            <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://10.1.1.1:3306/mapping" userId="user" password="password">
            </jdbcConnection>
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
            <!--数据表映射的实体类定义文件目录定义和相关参数设置-->
            <javaModelGenerator targetPackage="com.my.domain" targetProject="src/main/java">
                <property name="enableSubPackages" value="true"/>
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
            <!--sql语句定义文件生成的位置目录定义和相关参数设置-->
            <sqlMapGenerator targetPackage="com.my.mybatis" targetProject="src/main/resources">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
            <!--sql语句映射成java接口定义文件生成的位置目录定义和相关参数设置-->
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.my.mapper" targetProject="src/main/java">
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
            <!--下面是数据库表名和项目中需要生成类的名称,建议和数据库保持一致,如果有多个表,添加多个节点即可-->
            <table  tableName="user" domainObjectName="User" enableCountByExample="false" enableSelectByExample="false" enableUpdateByExample="false" enableDeleteByExample="false">
            </table>
            <table  tableName="config" domainObjectName="Config" enableCountByExample="false" enableSelectByExample="false" enableUpdateByExample="false" enableDeleteByExample="false">
            </table>
        </context>
    </generatorConfiguration>
    

    参数说明一下:

    • classPathEntry,用来指定mysql-connector-java的jar文件具体路径
    • jdbcConnection,用例指定mysql数据库的连接字符串
    • javaModelGenerator,实体定义参数
    • sqlMapGenerator,sql语句定义
    • javaClientGenerator,sql映射接口定义
    • table,定义需要生成文件的数据表

    生成

    执行 mvn mybatis-generator:generate,然后在工程下相关目录,就能看到指定数据表生成的实体,sql定义和sql映射文件。

    更加详细的说明请查看官方文档:http://mbg.cndocs.ml

    相关文章

      网友评论

        本文标题:mybatis自动生成映射和实体定义的方法

        本文链接:https://www.haomeiwen.com/subject/crrylftx.html