Idea中配置Mybatis逆向工程

Posted 程序逸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Idea中配置Mybatis逆向工程相关的知识,希望对你有一定的参考价值。

使用插件可以快速帮助我们生成基本的实体类、接口、和映射文件。帮助我们快速开发项目。这里我们来学习一下怎么使用逆向工程来实现,并且注意几个坑。

  • 我使用的mysql数据库版本:mysql8.0,这里涉及到加载驱动的不同,和url的不同,请注意。

我们这里使用springboot来实现

  • 新建一个springboot项目,去pom.xml中导入依赖,这里需要注意mysql版本:
 <!--mysql依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
            <scope>runtime</scope>
        </dependency>

        <!-- SpringBoot - MyBatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

        <!-- SpringBoot - MyBatis 逆向工程 -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>
  • 导入好依赖后,导入插件,这里使用的也是8.0:
<plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>

                <dependencies>
                    <dependency>
                        <groupId> mysql</groupId>
                        <artifactId> mysql-connector-java</artifactId>
                        <version>8.0.11</version>
                    </dependency>
                </dependencies>
            </plugin>
  • 此时的pom.xml文件已经结束了,然后我们去application.yml中配置数据库信息,这里是mysql8.0的驱动:
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/数据库名称?characterEncoding=utf8&serverTimezone=UTC
    username: root
    password: 自己密码
  • 在resources文件下新建一个逆向工程的配置文件: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="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!-- Mysql数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/数据库名称?characterEncoding=utf8&amp;serverTimezone=UTC"
                        userId="root"
                        password="自己的密码">
        </jdbcConnection>

        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- targetProject:生成POJO类的位置 -->
        <javaModelGenerator targetPackage="com.xxx.nxgc.pojo" targetProject=".\\src\\main\\java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!-- targetProject:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="com.xxx.nxgc.mybatis"  targetProject=".\\src\\main\\java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>

        <!-- targetProject:mapper接口生成的的位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.xxx.nxgc.mapper"  targetProject=".\\src\\main\\java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>

        <!-- 指定数据表 你想要生成那些表就添加几个-->
        <table schema="" tableName="t_class" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" selectByExampleQueryId="false"/>
        <table schema="" tableName="t_teacher" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" selectByExampleQueryId="false"/>
    </context>
</generatorConfiguration>
  • 然后去建包,结构如下:
    在这里插入图片描述
  • 点击右边的Maven,运行插件:
    在这里插入图片描述

在这里插入图片描述

  • 点击Run ‘nxgc [mybatis-genera…’

以上是关于Idea中配置Mybatis逆向工程的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis源码分析-IDEA新建MyBatis源码工程

MyBatis源码分析-IDEA新建MyBatis源码工程

Idea中配置Mybatis逆向工程

Mybatis在IDEA中使用generator逆向工程生成pojo,mapper

如何让idea自动创建mybatis配置文件

idea中使用mybatis逆向工程