天天看點

初識mybatis-generator

目前SpringBoot憑借其友善快捷免配置的優勢,已經赢得Java開發者的喜愛,随着大資料以及各種複雜系統的應用,Mybatis架構已經越來越流行,作為開發人員,自然是希望可以自主要制資料庫的。

Mybatis在開發過程中要寫的代碼可不少,既要寫SQL還有配置bean映射,這與Hibernate相比,勢必給碼農增加了不少工作量。幸好Mybatis官方提供了代碼生成器,這下可友善了不少。

本文主要介紹如何在Idea中的使用執行個體,首先需要中idea中安裝mybatis-generator插件,然後建立一個Springboot項目。配置bulid如下:

<build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.7</version>
                <configuration>
                    <configurationFile>
                        mybatis-generator/generatorConfig.xml
                    </configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.46</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
           

然後就是配置mybatis-generator的配置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="mysqlgenerator" targetRuntime="MyBatis3">
        <property name="autoDelimitKeywords" value="true"/>
        <!--可以使用``包括字段名,避免字段名與sql保留字沖突報錯-->
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <!-- 自動生成toString方法 -->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
        <!-- 自動生成equals方法和hashcode方法 -->
        <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/>

        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!--<property name="suppressAllComments" value="true"/>-->
        </commentGenerator>

        <!--資料庫連接配接資訊-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC&amp;verifyServerCertificate=false&amp;useSSL=false"
                        userId="root"
                        password="root"/>

        <javaTypeResolver>
            <property name="useJSR310Types" value="true"/>
        </javaTypeResolver>

        <javaModelGenerator targetPackage="com.onlyas.app.domain" targetProject="src/main/java"/>
        <sqlMapGenerator targetPackage="com.onlyas.app.dao" targetProject="src/main/resources"/>
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.onlyas.app.dao" targetProject="src/main/java"/>
        <!--表名-->
        <table tableName="Users">
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>
        <table tableName="News">
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>

    </context>
</generatorConfiguration>
           

好了,然後就是配置運作了。選擇Maven,然後輸入指令:

mybatis-generator:generate -e

如圖所示:

初識mybatis-generator

具體源碼可以在github上檢視和clone,也歡迎star

https://github.com/onlyas/mybatis-generator-demo

繼續閱讀