新建一个maven项目

引入包

        <!--SpringBoot-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
        </dependency>
        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!-- 阿里数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.4</version>
        </dependency>
        <!--mapper-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>1.1.4</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.6</version>
        </dependency>

引入工具

    <build>
        <finalName>generator</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!--mybatis代码自动生成插件-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <configuration>
                    <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.44</version>
                    </dependency>
                    <dependency>
                        <groupId>tk.mybatis</groupId>
                        <artifactId>mapper</artifactId>
                        <version>3.4.2</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

新建通用mapper

/**
 * 通用mapper
 * @author 向振华
 * @date 2019年3月12日
 */
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
}

加入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 resource="application.properties"/>

    <context id="Mysql" targetRuntime="MyBatis3Simple">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <property name="mappers" value="${mapper.mappers}"/>
        </plugin>

        <jdbcConnection 
                driverClass="${spring.datasource.druid.driver-class-name}"
                connectionURL="${spring.datasource.druid.url}"
                userId="${spring.datasource.druid.username}"
                password="${spring.datasource.druid.password}">
        </jdbcConnection>

        <javaModelGenerator targetPackage="com.mmtvip.pojo" targetProject="src/main/java">
            <property name="immutable" value="true"/>
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>

        <javaClientGenerator targetPackage="com.mmtvip.mapper" targetProject="src/main/java"  type="XMLMAPPER"/>
        
        <!--已生成的表-->
        <table tableName="t_user" domainObjectName="User">
        <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
        </table>

    </context>
</generatorConfiguration>

加入properties配置

#mybatis数据源
spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.url=xxx?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.druid.username=xxx
spring.datasource.druid.password=xxx

spring.datasource.druid.initialSize=5
spring.datasource.druid.minIdle=5
spring.datasource.druid.maxActive= 20
spring.datasource.druid.maxWait= 60000
spring.datasource.druid.timeBetweenEvictionRunsMillis= 60000
spring.datasource.druid.minEvictableIdleTimeMillis= 300000
spring.datasource.druid.validationQuery= SELECT 1 
spring.datasource.druid.testWhileIdle= true
spring.datasource.druid.testOnBorrow= false
spring.datasource.druid.testOnReturn= false
spring.datasource.druid.poolPreparedStatements= true
spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize= 20
spring.datasource.druid.filters= stat,config
spring.datasource.druid.connectionProperties= druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
spring.datasource.druid.useGlobalDataSourceStat= true
spring.datasource.druid.mapperLocations=classpath:mapper/*Mapper.xml

mapper.mappers=com.mmtvip.config.MyMapper
mybatis.type-aliases-package.druid=com.mmtvip.generator.pojo

项目结构

Mybatis逆向生成工具

 执行插件

Mybatis逆向生成工具

 

 

 

工具地址:https://github.com/xxiangzh/generator

相关文章: