Mybatis Generator简称MBG(以下均以mbg代替Mybatis Generator),是Mybatis的一款插件,用来自动生成dao接口类、entity实体和xml映射文件。
我以前在学习mbg的时候,也是查找各种网络上的教程,但是很多教程都只是讲解mbg的基本使用,讲解得并不全面。举个例子:在对mbg进行配置的时候,我们要指明需要生成代码的表,如下:
<table tableName="dictionary_college" domainObjectName="College" />
这样,其实你在看了教程后只知道table
标签有tableName
和domainObjectName
两个属性,并不知道还有其他哪些属性可以配置,配置了可以产生什么样的效果,这就会造成你在使用mbg的时候,出现某种问题,无法找到对应的方法去解决它。
所以在讲解如何使用mbg之前,先贴几个连接。官网的教程永远是最全面的,你可在官网上查看每个标签能配置的所有属性,以及可以产生怎样的效果。而GitHub库中,有许多的issue,当你遇到问题时,如果查看官方文档无法解决,你可以去GitHub库中搜索issue,这也是一种解决问题的方法,不要只会用百度解决问题。
Mybatis Generator官方使用教程:http://www.mybatis.org/generator/Mybatis Generator GitHub库:https://github.com/mybatis/generator
1、pom.xml配置
使用方式
使用mbg有6种方式:
- 直接在命令行中运行mbg的jar包
- 作为一个Ant任务来运行
- 作为一个Maven插件来运行
- 通过写Java代码来运行(基于xml配置)
- 通过写Java代码来运行(基于Java代码配置)
- 作为一个Eclipse功能来运行
因为现在基本所有java项目都会用到Maven,所以我只讲解如何在Maven中使用mbg。
基础配置
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<!--指定配置文件位置-->
<configurationFile>src/main/resources/mybatis/mybatis-generator-config.xml</configurationFile>
<!--重复生成时是否覆盖文件-->
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
首先我们引入一个mbg的插件,此时(2019-4-14)mbg的maven插件最新版本是1.3.7(更新于2018-6-4)。建议读者在看到这篇文章时,自行到官网查看最新版本的插件。
<plugin>
标签中有一个<configuration>
标签,可以配置一些参数(所以参数请到官网查看)。
<configurationFile>
用来指定mbg的配置文件路径
<overwrite>
为true时,重复生成时旧文件将会被新文件覆盖,否则新文件将会以.1后缀命名。
因为需要连接数据库,所以还需要<dependency>
标签指定jdbc驱动(也可以用<includeCompileDependencies>
或<includeAllDependencies>
标签代替,详见官网)