MyBatis Generator是一個能夠用來生成Mybatis dao,entity,Mapper文件的一個工具,在項目的過程當中能夠省去不少重複的工做,咱們只要在MyBatis Generator的配置文件中配置好要生成的表名與包名,而後運行一條命令就會生成一堆文件。java
在使用MyBatis時,當表還比較少時,咱們能夠手寫與表操做相對應的dao、entity、mapper,可是隨着表愈來愈多,手寫重複的代碼就顯得有點浪費時間了,因此就是用MyBatis官方提供的插件MyBatis Generator來幫咱們自動生成文件、代碼。mysql
關於如何使用MyBatis Generator,能夠參考官方文檔。在這裏我主要講一下本身在使用這個插件時遇到的一些坑。sql
當時pom.xml文件中插件位置是這樣子的:bash
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<!-- MyBatis Generator插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
複製代碼
這種狀況下,MyBatis Generator插件始終沒法在Maven中顯示出來。解決方式:把MyBatis Generator放到跟pluginManagement同級別下就能夠了。 代碼以下:mybatis
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
</plugins>
</pluginManagement>
<!-- mybatis generator插件, 注意不能放在pluginManagement裏面,要跟它同級別 -->
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
複製代碼
遇到這種狀況不要慌,IDEA自己已經給咱們提供瞭解決方案: maven
因此咱們直接選擇Fetch external resource
就好了,若是不行,就選第二個Ignore external resource
,我就是經過第二種方式解決的!工具
不過可能有的小夥伴會問,第三個選項呢?我沒試過,我也不知道。-_-ui
當配置文件的準備工做都作完後,開始運行插件時,內心祈禱要一切順利呀,結果:我擦,仍是報錯了!spa
經過錯誤提示信息咱們就知道,找不到JDBC的驅動包,此時有兩個解決方式:
(1)在plugin文件中單獨配置MySQL的驅動包
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<!-- 在plugin中單獨依賴MySQL驅動包,解決找不到JDBC Driver的問題 -->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.43</version>
</dependency>
</dependencies>
</plugin>
複製代碼
(2) 在generatorConfig.xml中設置驅動包的location
<classPathEntry location="驅動包文件位置"/>
複製代碼
結束語:其實不少問題在發生的時候,IDE就已經在控制檯給了咱們提示,因此當咱們遇到問題時,不要慌,認真看異常提示,耐心一點,問題總會被解決的!解決不了,還有Google呢。^_^