mybatis-generator 詳細配置及使用,爬坑記錄


mybatis-generator 詳細配置及使用,爬坑記錄

提示:如果不成功一定是項目路徑和 數據庫配置出問題,本篇基於 MySQL 8.0.13,調試沒有問題。

如果失敗,建議使用相同的項目結構,包名,進行重試,博主也是多次調試,才成功。一些常見問題,看報錯提示信息是可以看懂的,加油。

整個項目的源代碼,最后,也會給出下載鏈接。

這是根據數據庫,生成后的項目結構:

一、簡介:

mybatis-geneator 是一款 mybatis 自動代碼生成工具,可以通過配置,快速生成 mapper 和 xml 文件。

二、配置方法:

(1)在項目的 pom.xml 文件中添加插件配置

詳細的 pom.xml 配置:

<plugin>
	<groupId>org.mybatis.generator</groupId>
	<artifactId>mybatis-generator-maven-plugin</artifactId>
	<version>1.3.7</version>

	<dependencies>
		<dependency>
		  <groupId>org.mybatis.generator</groupId>
 		  <artifactId>mybatis-generator-core</artifactId>
          <version>1.3.7</version>
        </dependency>

        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>8.0.13</version>
        </dependency>
     </dependencies>

     <executions>
        <execution>
          <id>mybatis generator</id>
          <phase>package</phase>
          <goals>
            <goal>generate</goal>
          </goals>
          <configuration>
            <!--允許移動生成的文件-->
            <verbose>true</verbose>
            <!--允許自動覆蓋文件-->
            <overwrite>true</overwrite>
            <configurationFile>
              src/main/resources/generatorConfig.xml
            </configurationFile>
       </configuration>
     </execution>
     </executions>


</plugin>

(2)根據自己配置的文件路徑及名稱,創建相應 generatorConfig.xml 文件,位置如下圖:

(3)先手動創建一些目錄,在配置的時候回有提示,大大降低出錯概率,整體目錄結構:

三、創建 MySQL 數據庫,創建 2 兩個表:

之前介紹過多次命令行創建數據庫表了,查看 MySQL - 最經典的 命令行操作數據庫 + 表(增刪改查實例)

這次使用 Navicat for MySQL,如果沒有安裝請參考:Navicat for MySQL 最新版安裝與破解 + 報錯解決辦法

(1)建立連接,創建數據庫:

(2)數據庫名,選擇編碼:

(3)新建表:

(4)填寫表信息:

主鍵:

其他:

表名為 user_info

(5)插入一條信息:

(6)細心的你可能發現了沒有 upwd 存密碼的字段,我們這里放在另外一張表上,新建表 user_pwd:

四、編輯 mybatis-generator.xml 文件:

(重要!)
(請詳細看注釋!自行修改自己的配置信息)

修改目錄請自行對應,可放大查看:

在這里插入圖片描述

generatorConfig.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>

    <!-- context 是逆向工程的主要配置信息 -->
    <!-- id:起個名字 -->
    <!-- targetRuntime:設置生成的文件適用於那個 mybatis 版本 -->
    <context id="default" targetRuntime="MyBatis3">


        <!--jdbc的數據庫連接-->
        <!--這里是以變量的形式定義,具體的值在 application.properties 文件中-->
        <!--jdbc:mysql://localhost:3306/數據庫名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/miaosha?serverTimezone=UTC"
                        userId="root"
                        password="xiaopengwei">
        </jdbcConnection>

        <!-- targetPackage:生成的實體類所在的包 -->
        <!-- targetProject:生成的實體類所在的硬盤位置 -->
        <!-- DataObject 類存放位置 -->
        <javaModelGenerator targetPackage="com.miaoshapro.dataobject"
                            targetProject=".\src\main\java">
            <!-- 是否允許子包 -->
            <property name="enableSubPackages" value="false" />
            <!-- 是否對modal添加構造函數 -->
            <property name="constructorBased" value="true" />
            <!-- 是否清理從數據庫中查詢出的字符串左右兩邊的空白字符 -->
            <property name="trimStrings" value="true" />
            <!-- 建立modal對象是否不可改變 即生成的modal對象不會有setter方法,只有構造方法 -->
            <property name="immutable" value="false" />
        </javaModelGenerator>

        <!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 -->
        <sqlMapGenerator targetPackage="mapping"
                         targetProject=".\src\main\resources">
            <!-- 針對數據庫的一個配置,是否把 schema 作為字包名 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>

        <!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.miaoshapro.dao" targetProject=".\src\main\java">
            <!-- 針對 oracle 數據庫的一個配置,是否把 schema 作為字包名 -->
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!--生成對應表及類名-->
        <table tableName="user_info" domainObjectName="UserDO">
        </table>
        <table tableName="user_pwd" domainObjectName="UserPwdDO">
        </table>
    </context>
</generatorConfiguration>

五、執行 mybatis-generator 插件

(1)打開配置:

(2)點擊 +,選擇 Maven:

(3)輸入信息,命令:
在這里插入圖片描述

(4)選中剛才創建的名稱,點擊執行:

六、運行結果:

(1):

(2):

(3):

(4):


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM