springboot 使用mybatis-generator自动生成代码

时间:2020-12-16 05:09:05

这里只介绍mybatis generator生成代码

一、pom配置

在build-->plugins-->添加plugin

    <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.3</version>
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.45</version>
            </dependency>
        </dependencies>
        <configuration>
            <!--配置文件的路径-->
            <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
            <overwrite>true</overwrite>
        </configuration>
    </plugin>

二、编写 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="test" targetRuntime="MyBatis3">
    <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"></plugin>
    <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
    <plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin>
    <plugin type="org.mybatis.generator.plugins.RenameExampleClassPlugin">
        <property name="searchString" value="DOExample$"/>
        <property name="replaceString" value="Query"/>
    </plugin>
    <commentGenerator>
        <!-- 这个元素用来去除指定生成的注释中是否包含生成的日期 false:表示保护 -->
        <!-- 如果生成日期,会造成即使修改一个字段,整个实体类所有属性都会发生变化,不利于版本控制,所以设置为true -->
        <property name="suppressDate" value="true" />
        <!-- 是否去除自动生成的注释 true:是 : false:否 -->
        <property name="suppressAllComments" value="false" />
    </commentGenerator>
    <!--数据库链接URL,用户名、密码 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                    connectionURL="jdbc:mysql://127.0.0.1:3306/mxntest" userId="root" password="root">
    </jdbcConnection>
    <javaTypeResolver>
        <!-- This property is used to specify whether MyBatis Generator should
            force the use of java.math.BigDecimal for DECIMAL and NUMERIC fields -->
        <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>
    <!-- 生成模型的包名和位置 -->
    <javaModelGenerator targetPackage="com.example.demo.entity" targetProject="src/main/java">
        <property name="enableSubPackages" value="true" />
        <property name="trimStrings" value="true" />
    </javaModelGenerator>
    <!-- 生成映射文件的包名和位置 -->
    <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
        <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>
    <!-- 生成DAO的包名和位置 -->
    <javaClientGenerator type="XMLMAPPER"
                         targetPackage="com.example.demo.dao"
                         targetProject="src/main/java">
        <property name="enableSubPackages" value="true" />
    </javaClientGenerator>

    <!-- 要生成哪些表 -->
    <!--<table tableName="user" domainObjectName="user"
           enableCountByExample="false" enableUpdateByExample="false"
           enableDeleteByExample="false" enableSelectByExample="false"
           selectByExampleQueryId="false"></table>-->
    <!--<table tableName="users" domainObjectName="UsersDO" />-->
    <table tableName="save_record" domainObjectName="SaveRecordDO" />
</context>
</generatorConfiguration>

三、运行

  • 配置好插件
  • 配置好xml
  • xml对应的包创建好 一一对应
  • 运行方式
    springboot 使用mybatis-generator自动生成代码

  • 目录结构
    springboot 使用mybatis-generator自动生成代码