一、MyBatis Generator 诞生背景

虽然MyBatis是一个简单易学的框架,但是配置XML文件也是一件相当繁琐的一个过程,而且会出现很多不容易定位的错误。当在工作中需要生成大量对象的时候,有太多的重复劳动,简直是生无可恋。所以,官方开发了 MyBatis Generator。它只需要很少量的简单配置,就可以完成大量的表到Java对象的生成工作,拥有零出错和速度快的优点,让开发人员解放出来更专注于业务逻辑的开发。

二、MyBatis Generator 简介

官网的MyBatis Generator使用介绍,请点击下面的链接:MyBatis Generator官网介绍
MyBatis Generator 生成的文件包含三类:

  • Model实体文件,一个数据库表对应生成一个 Model 实体;
  • Mapper接口文件,数据数操作方法都在此接口中定义;
  • Mapper XML配置文件

三、创建一个springboot项目

这段代码就不贴了

四、引入依赖

1
2
3
4
5
6
7
8
9
10
11
<!-- mybatis generator 自动生成代码插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>

五、yml配置

resource文件夹下的application.properties文件删除,创建一个新的application.yml配置文件,在里面写相关配置,然后添加下面这个……

1
2
3
4
5
6
7
8
mybatis:
# mapper映射xml文件的所在路径
mapper-locations: classpath:mapping/*.xml
# 对应实体类的路径
type-aliases-package: com.wzp.wzx.*
# 驼峰命名规范
configuration:
map-underscore-to-camel-case: true

六、xml配置

就是下面这个东西,当然,什么创建数据库啊啥的我就不写了……

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
<?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>
<!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包 这玩意儿要下载,去网上搜一下下载下来-->
<classPathEntry location="E:\dataSourceDriver\mysql-connector-java-5.1.6.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="false"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/test" userId="root"
password="root"></jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成模型的包名和位置-->
<javaModelGenerator targetPackage="com.wzp.wzx.admin.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成映射文件的包名和位置-->
<sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置-->
<javaClientGenerator type="mapper" targetPackage="com.wzp.wzx.admin.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<table tableName="Admin" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>

注意:上面文件里面相应的位置根据自己的项目去更改,然后下面这玩意儿要下载,去网上搜一下下载下来

1
<classPathEntry location="E:\dataSourceDriver\mysql-connector-java-5.1.6.jar"/>

七,启动

1、点击Edit Configurations

在这里插入图片描述

2、添加运行配置

在这里插入图片描述

3、点击运行

在这里插入图片描述

4、最后生成的文件目录

在这里插入图片描述

5、打开类SpringbootApplication.java,我们需要添加一个注解
@MapperScan(“com.winter.mapper”) //将项目中对应的mapper类的路径加进来就可以了

八、结尾

测试我就没有贴出来了,可以自己写一个Controller测一下,文章中还有很多也没有贴,只是贴了稍微重要的,比如对于生成后的文件内容这些就没有贴了(毕竟每个人的数据库表不一样,内容就不一样的……)