mybatis的逆向工程

喝茶一族發表於2020-10-03

逆向工程

逆向工程生成實體類和mapper層

pom.xml

  <build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.4.0</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.3</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.23</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.6</version>
        </dependency>
    </dependencies>

db.properties

#jdbc連線資料庫配置資訊
#正確的druid的驅動名配置  如果錯誤,不會設定為druid的驅動,jdk8會自動識別url,進行驅動註冊
#mysql 8驅動提供了新的 驅動類 來進行驅動註冊
druid.driverClassName =com.mysql.jdbc.Driver
# jdbc:mysql://localhost:3306/yinliu?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong
druid.url = jdbc:mysql://localhost:3306/netctoss?characterEncoding=utf8
druid.username = root
druid.password = 123456


#連線池可選配置
#初始化的連線數
druid.initialSize=2

#設定生成的表
jdbc.table.items=admin_info

要改的是 druid.url = jdbc:mysql://localhost:3306/netctoss?characterEncoding=utf8
3306:要是你資料庫的埠號
netctoss:要改為你的資料庫
使用者、密碼看自己的改
設定生成的表:jdbc.table.items=admin_info
admin_info:是看你要生成那張表的資料,然後,把那張表的表名複製貼上過來

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>
    <!--匯入屬性配置-->
    <properties resource="db.properties"></properties>

    <!--指定特定資料庫的jdbc驅動jar包的位置-->
    <classPathEntry location="D:\maven\MavenRepository\mysql\mysql-connector-java\5.1.23\mysql-connector-java-5.1.23.jar" />

    <context id="default" targetRuntime="MyBatis3">

        <!-- optional,旨在建立class時,對註釋進行控制 -->
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!--jdbc的資料庫連線 -->
        <jdbcConnection
                driverClass="${druid.driverClassName}"
                connectionURL="${druid.url}"
                userId="${druid.username}"
                password="${druid.password}">
        </jdbcConnection>


        <!-- 非必需,型別處理器,在資料庫型別和java型別之間的轉換控制-->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- Model模型生成器,用來生成含有主鍵key的類,記錄類 以及查詢Example類
            targetPackage     指定生成的model生成所在的包名
            targetProject     指定在該專案下所在的路徑
        -->
        <javaModelGenerator targetPackage="com.generate.pojo" targetProject="./src/main/java">
            <!-- 是否允許子包,即targetPackage.schemaName.tableName -->
            <property name="enableSubPackages" value="false"/>
            <!-- 是否對model新增 建構函式 -->
            <property name="constructorBased" value="true"/>
            <!-- 是否對類CHAR型別的列的資料進行trim操作 -->
            <property name="trimStrings" value="true"/>
            <!-- 建立的Model物件是否 不可改變  即生成的Model物件不會有 setter方法,只有構造方法 -->
            <property name="immutable" value="false"/>
        </javaModelGenerator>

        <!--mapper對映檔案生成所在的目錄 為每一個資料庫的表生成對應的SqlMap檔案 -->
        <sqlMapGenerator targetPackage="mappers" targetProject="./src/main/resources">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER" targetPackage="com.generate.dao" targetProject="./src/main/java">
            <!-- enableSubPackages:是否讓schema作為包的字尾 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 指定資料庫表 domainObjectName:表對應的實體類名 enableUpdateByExample:是否生成updata/count/delete/select等的Example -->
        <table enableSelectByExample="false" enableDeleteByExample="false" enableCountByExample="false" enableUpdateByExample="false" domainObjectName="adminInfo" tableName="${jdbc.table.items}"/>
        <!-- <table tableName="mmall_product" domainObjectName="Product" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
             <columnOverride column="detail" jdbcType="VARCHAR" />
             <columnOverride column="sub_images" jdbcType="VARCHAR" />
         </table>-->
    </context>
</generatorConfiguration>

上面基本要改的無非就

指定特定資料庫的jdbc驅動jar包的位置 classPathEntry location 指定你mysql-connector-java.jar包的位置

指定資料庫表 domainObjectName:表對應的實體類名 enableUpdateByExample:是否生成updata/count/delete/select等的Example

基本也就改這兩個了

然後,給你們看看,上面兩個檔案的存放位置圖,放在resources下

在這裡插入圖片描述

然後,就是一鍵生成了
在這裡插入圖片描述
然後,就會生成下面圖這種形式了
在這裡插入圖片描述

相關文章