# MyBatis教程 - 15 逆向工程

什么是逆向工程?

逆向工程就是通过数据库的表,生成对应的 Java 实体类、Mapper接口、 XML 映射文件,这样的话就不用我们再去一个一个手动创建。


下面的操作,是在已经集成了 MyBatis 的环境中完成的,环境准备,参考 HelloWorld (opens new window)

这里我再建两种表,用来演示逆向工程:

CREATE TABLE tb_teacher (
  id INT NOT NULL AUTO_INCREMENT COMMENT 'ID',
  name varchar(64) NOT NULL COMMENT '老师名称',
  age tinyint unsigned DEFAULT NULL COMMENT '年龄',
  create_time datetime DEFAULT NULL COMMENT '创建时间',
	PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='老师表';

CREATE TABLE tb_course (
  id INT NOT NULL AUTO_INCREMENT COMMENT 'ID',
  name varchar(64) NOT NULL COMMENT '课程名称',
  create_time datetime DEFAULT NULL COMMENT '创建时间',
	PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='课程表';
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 1 添加依赖

在项目的 pom.xml 中添加依赖,需要添加插件依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <!-- ...略 -->

    <dependencies>
        <!-- ...略 -->
    </dependencies>

    <build>
        <plugins>
            <!-- 逆向工程,生成mybatis代码插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.4.2</version>

                <!-- 插件的依赖 -->
                <dependencies>
                    <!-- mysql驱动依赖 -->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.22</version>
                    </dependency>

                    <!-- 逆向工程的核心依赖 -->
                    <dependency>
                        <groupId>org.mybatis.generator</groupId>
                        <artifactId>mybatis-generator-core</artifactId>
                        <version>1.4.2</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
</project>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

# 2 创建逆向工程配置文件

src/main/resources 目录下创建 generatorConfig.xml 文件(名称是固定的),内容如下:

内容未完......