1. 什么是Mybatis Generator
Mybatis-generator(MBG)是Mybatis官网发布的一个用来生成代码的一个工具包,他可以对一些简单的CRUD应用进行快速的生成POJO对象和对应的Mapper接口文件及XML配置文件,大大的减少了手写的误差和工作量。
官网文档:http://www.mybatis.org/generator/index.html
2. 如何使用
可以直接下载jar包,然后配置生成,也可以用maven引入的方式,在IDE中使用,下面我们选择用Maven方式导入,然后在IDEA中配置使用。
3. 开始配置
1.首先需要在pom.xml中配置相关插件
<!--MG的插件-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.3</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java
配置这个依赖主要是为了等下在配置MG的时候可以不用配置classPathEntry这样的一个属性,避免
代码的耦合度太高 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
</dependencies>
</plugin>
2.在项目的resources下增加generatorConfig.xml文件,也可以再增加一个generatorConfig.properties的配置文件,这里我们选择两个文件都用。
首先是generatorConfig.properties,这里可以配置数据库的连接
jdbc_driver = com.mysql.jdbc.Driver
jdbc_url = jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8
jdbc_user = root
jdbc_password = 123456
然后是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="generatorConfig.properties"/>
<!-- 一个数据库一个context -->
<context id="infoGuardian">
<!-- 注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true"/><!-- 是否取消注释 -->
<property name="suppressDate" value="false"/> <!-- 是否生成注释代时间戳-->
</commentGenerator>
<!-- jdbc连接 -->
<jdbcConnection driverClass="${jdbc_driver}"
connectionURL="${jdbc_url}" userId="${jdbc_user}"
password="${jdbc_password}"/>
<!-- 类型转换 -->
<javaTypeResolver>
<!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成实体类地址 targetPackage实体类的包名 -->
<javaModelGenerator targetPackage="com.web.control.model"
targetProject="src/main/java">
<!-- 是否在当前路径下新加一层schema-->
<property name="enableSubPackages" value="false"/>
<!-- 是否针对string类型的字段在set的时候进行trim调用 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成mapxml文件 -->
<sqlMapGenerator targetPackage="com.web.control.dao"
targetProject="src/main/java">
<!-- 是否在当前路径下新加一层schema -->
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- 生成mapxml对应client,也就是接口dao -->
<javaClientGenerator targetPackage="com.web.control.dao"
targetProject="src/main/java" type="XMLMAPPER">
<!-- 是否在当前路径下新加一层schema-->
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- 配置表信息 -->
<table schema="" tableName="base_config"
domainObjectName="" enableCountByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
enableUpdateByExample="false">
<!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample
是否生成 example类 -->
</table>
</context>
</generatorConfiguration>
4. 配置插件运行
- 在idea中添加一个generator插件运行选项,首先,点击run→Edit Configurations...如下图。
- 然后选择+增加一个Maven插件
- 最后,配置如图
Name :generator,Command line:mybatis-generator:generate -e
4.最后,点击Run-Run ‘generator’