總結:使用MyBatis Generator時遇到的坑

1、什麼是MyBatis Generator?

MyBatis Generator是一個能夠用來生成Mybatis dao,entity,Mapper文件的一個工具,在項目的過程當中能夠省去不少重複的工做,咱們只要在MyBatis Generator的配置文件中配置好要生成的表名與包名,而後運行一條命令就會生成一堆文件。java

爲何要使用MyBatis Generator?


在使用MyBatis時,當表還比較少時,咱們能夠手寫與表操做相對應的dao、entity、mapper,可是隨着表愈來愈多,手寫重複的代碼就顯得有點浪費時間了,因此就是用MyBatis官方提供的插件MyBatis Generator來幫咱們自動生成文件、代碼。mysql

關於如何使用MyBatis Generator,能夠參考官方文檔。在這裏我主要講一下本身在使用這個插件時遇到的一些坑。sql

使用MyBatis Generator時遇到了哪些坑?


一、在maven中引入MyBatis Generator插件時,maven中始終沒法顯示該插件

當時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中建立generatorConfig.xml文件時,文件頭報錯:URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)

以下圖所示: app

遇到這種狀況不要慌,IDEA自己已經給咱們提供瞭解決方案: maven

因此咱們直接選擇Fetch external resource就好了,若是不行,就選第二個Ignore external resource,我就是經過第二種方式解決的!工具

不過可能有的小夥伴會問,第三個選項呢?我沒試過,我也不知道。-_-ui

三、mybatis-generator-maven-plugin:1.3.4:generate failed: Exception getting JDBC Driver

當配置文件的準備工做都作完後,開始運行插件時,內心祈禱要一切順利呀,結果:我擦,仍是報錯了!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呢。^_^

相關文章
相關標籤/搜索