SpringBoot整合Mybatis(三)集成Mybatis Generator进行代码自动生成

在实际的业务开发中,大量的数据库操作都是增删查改,一个复杂点的系统会有几百上千个表,如果针对每个表都编写其增删查改的方法,也是一个很大的工作量,如果可以使用代码自动生成,则可以省下大量工作,而Mybatis Generator正好可以处理这个问题。

准备

1、创建一个新的工程

这个工程专门用于生成代码,代码生成后,再手动拷贝至项目工程中,如果直接在项目工程中生成,则会直接覆盖文件,可能会造成新编写的代码被覆盖。

集成

1、添加依赖

mybatis-generator-maven-plugin:1.3.2

在pom.xml中添加对generator的依赖

<build>
   <plugins>
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.2</version>
            <configuration>
                <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
                <overwrite>true</overwrite>
                <verbose>true</verbose>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>${mysql.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

2、配置

  • 配置数据源
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=
  • 配置 mybatis-generator 参数

在项目中添加 mybatis-generator 的配置文件,文件的路径及名称由上一步中的<configurationFile>参数进行设置,内容如下:

<?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>
    <!-- 引入SpringBoot配置文件 -->
    <properties resource="application.properties"/>

    <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">

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

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

        <javaModelGenerator targetPackage="com.demo.model" targetProject="src/main/java" />

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

        <javaClientGenerator targetPackage="com.demo.mapper" targetProject="src/main/java" type="XMLMAPPER">
        </javaClientGenerator>

        <table tableName="%">
        <!--mysql 配置-->
            <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
        <!--oracle 配置-->
        <!--<generatedKey column="id" sqlStatement="select SEQ_{1}.nextval from dual" identity="false" type="pre"/>-->
        </table>
    </context>
</generatorConfiguration>

如果想了解更多的配置,可以参考 Mybatis Generator最完整配置详解,或者阅读官网英文文档。

运行

执行 mvn mybatis-generator:generate 命令

猜你喜欢

转载自blog.csdn.net/gongm24/article/details/79882483