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

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

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

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

整個項目的源代碼,最後,也會給出下載連接。sql

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

1、簡介:

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

2、配置方法:

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

詳細的 pom.xml 配置:app

<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 文件,位置以下圖:dom

(3)先手動建立一些目錄,在配置的時候回有提示,大大下降出錯機率,總體目錄結構:maven

3、建立 MySQL 數據庫,建立 2 兩個表:

以前介紹過屢次命令行建立數據庫表了,查看 MySQL - 最經典的 命令行操做數據庫 + 表(增刪改查實例)函數

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

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

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

(3)新建表:

(4)填寫表信息:

主鍵:

其餘:

表名爲 user_info

(5)插入一條信息:

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

4、編輯 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>

5、執行 mybatis-generator 插件

(1)打開配置:

(2)點擊 +,選擇 Maven:

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

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

6、運行結果:

(1):

(2):

(3):

(4):

相關文章
相關標籤/搜索