springboot集成mybatis-generator自動生成代碼教程詳解

前言:
在使用mybatis時我們需要重複的去創建pojo類、mapper文件以及dao類並且需要配置它們之間的依賴關係,比較麻煩且做了大量的重複工作。

MyBatis Generator介紹

MyBatis Generator,縮寫MBG,是一個Mybatis和iBatis的代碼生成器。 通過MyBatis Generator可以根據數據庫表自動生成相應的pojo實體類、mapper文件以及dao類,能應付簡單的CRUD(Create, Retrieve, Update, Delete),對於連接查詢或存儲過程等還是要手動編寫sql和對象。

MyBatis Generator教程

此次是springboot項目集成mybatis-generator。
開發工具:IDEA ,項目構建工具:maven,框架:springboot,操作及配置如下:

  1. 創建maven項目,pom依賴如下:
 		<plugins>
            <!-- mybatis generator -->
            <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.18</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>mybatis generator</id>
                        <phase>package</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!--允許移動生成的文件-->
                    <verbose>true</verbose>
                    <!--允許自動覆蓋文件-->
                    <overwrite>true</overwrite>
                    <configurationFile>
                        src/main/resources/config/mybatis-generator.xml
                    </configurationFile>
                </configuration>
            </plugin>
        </plugins>
  1. 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>
    <!--驅動包的路徑-->
    <!--<classPathEntry location="C:\repository\mysql\mysql-connector-java\5.1.46\mysql-connector-java-5.1.46.jar" />-->

    <!--數據庫連接-->
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <!--註釋-->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>
        <!--數據庫連接地址及賬號密碼-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/test"
                        userId="root"
                        password="123456">
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!--生成entity類存放位置-->
        <javaModelGenerator targetPackage="com.wfking.user.entity" targetProject="src/main/java">
            <!--是否對model添加構造函數-->
            <property name="constructorBased" value="false"/>
            <!--是否允許子包-->
            <property name="enableSubPackages" value="true"/>
            <!--建立的model對象是否不可變,也就是生成的model沒有setter方法-->
            <property name="immutable" value="false"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--生成映射文件存放位置-->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!--生成Dao類的存放位置-->
        <!-- 客戶端代碼,生成易於使用的正對Model對象和XML配置文件的代碼
        type="ANNOTATEDMAPPER", 生成Java Model和基於註解的Mapper對象
        type="MIXEDMAPPER", 生成基於註解的Java Model和相應的Mapper對象
        type="XMLMAPPER", 生成SQLMap XML文件和獨立的Mapper接口
        -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.wfking.user.dao"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!--請根據自己數據庫對應的表名進行配置修改,這裏僅供參考-->
        <!--生成對應表及類名-->
        <table tableName="user" domainObjectName="User"-->
              enableInsert="false"-->
              enableSelectByExample="true"-->
              enableDeleteByPrimaryKey="false"-->
              enableDeleteByExample="false"-->
              enableCountByExample="false"-->
              enableUpdateByExample="false"-->
              enableSelectByPrimaryKey="true"-->
              enableUpdateByPrimaryKey="false">
       </table>
    </context>

</generatorConfiguration>
  1. mybatis-generator自動生成代碼
    運行maven install或者plugins 裏面的mybatis-generator 下的generate,如下圖標紅
    mybatis-generator自動生成代碼
  2. mybatis-generator自動生成代碼效果如下圖
    mybatis-generator自動生成代碼效果
    mybatis-generator自動生成代碼 自動生成實體類mybatis-generator自動生成代碼 自動生成mapper.xml文件mybatis-generator自動生成代碼 自動生成mapper5. 覺得有用記得點贊哦
發佈了38 篇原創文章 · 獲贊 8 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章