美文网首页
# MyBatis逆向工程整合lombok

# MyBatis逆向工程整合lombok

作者: 陈煦缘 | 来源:发表于2019-07-16 16:12 被阅读0次

    实现的功能

    • 主要整合了lombok插件实现getter/setter等通用方法的自动生成,同时自定义实现了一个注释生成器, 通过抓取数据库表里面的注释作为实体类的注释内容。(支持生成数据库表字段常量)

    插件的用法

    • 如果你想在你的maven中使用,就直接git clone git@gitee.com:chenxiaoxinFrank/mybatis-generator-lombok-plugin.git这个项目到你的IDEA,然后使用maven clean install将这个项目添加到Maven仓库里去。

    将这个项目添加到Maven仓库里去。
    之后你只要在你的要使用这个插件的项目的pom.xml中加入如下内容便可:
    注:tk.mybatis和org.mybatis.generator的版本是对应的,请勿随意替换

    
        <properties>
          <targetJavaProject>${basedir}/src/main/java</targetJavaProject>
            <targetResourcesProject>${basedir}/src/main/resources</targetResourcesProject>
            <targetMapperPackage>com.XXX.data.mapper</targetMapperPackage>
            <targetModelPackage>com.XXX.data.model</targetModelPackage>
            <targetXMLPackage>com.XXX.data.mapper</targetXMLPackage>
        </properties>
    
    
    <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.7</version>
        <configuration>
            <configurationFile>${basedir}/src/main/resources/generator.xml</configurationFile>
            <overwrite>true</overwrite>
            <verbose>true</verbose>
        </configuration>
        <dependencies>
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper</artifactId>
                <version>3.4.5</version>
            </dependency>
              <dependency>
                    <groupId>com.frank.mybatis.plugin</groupId>
                    <artifactId>mybatis-generator-lombok-plugin</artifactId>
                     <version>1.0.0-SNAPSHOT</version>
                        </dependency>
        </dependencies>
    </plugin>
    
    

    同时添加配置文件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>
    
            <!--指向本地oracle客户端路径-->
            <classPathEntry location="D://git/maven/repository_1/com/oracle/ojdbc6/6/ojdbc6-6.jar"/>
    
            <context id="Oracle" targetRuntime="MyBatis3">
    
                <property name="beginningDelimiter" value="`"/>
                <property name="endingDelimiter" value="`"/>
                <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
                    <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
                    <property name="caseSensitive" value="true"/>
                </plugin>
                <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
                <!-- 整合lombok-->
                <plugin type="com.frank.mybatis.plugin.LombokPlugin" >
                    <property name="hasLombok" value="true"/>
                </plugin>
                <!--自定义注释插件-->
                <plugin type="com.frank.mybatis.plugin.CommentPlugin">
                    <!--开启根据注释生成常量,需把常量字段定义为json-->
                    <!--模板规则-->
                    <!--注释{'常量后缀1':'值#描述','常量后缀2':'值#描述’}-->
                    <!--注意:若数据类型是 character和text 类型字段值需要用""符号-->
                    <!--示例如下:-->
                    <!--id{'test':'"0"#测试','dev':'"1"#开发','par':'"2"#生产'}-->
                    <property name="makeConstant" value="true"/>
                </plugin>
    
                <commentGenerator >
                    <property name="suppressAllComments" value="false"/>
                </commentGenerator>
                <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
                                connectionURL="jdbc:oracle:thin:@//127.0.0.1:1522/wodb"
                                userId="wodb"
                                password="wodb">
                    <!--生成oracle注释-->
                    <property name="remarksReporting" value="true"/>
                </jdbcConnection>
                <javaTypeResolver>
                    <property name="forceBigDecimals" value="false"/>
                </javaTypeResolver>
        <!--对应pom中<properties>的配置-->
                <javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}"/>
                <sqlMapGenerator targetPackage="${targetXMLPackage}" targetProject="${targetResourcesProject}"/>
                <javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}"
                                     type="XMLMAPPER"/>
    
    
                <table schema="wodb" tableName="T_USER" enableCountByExample="true" enableUpdateByExample="false"
                       enableDeleteByExample="false" enableSelectByExample="true" selectByExampleQueryId="false">
                    <generatedKey column="ID" sqlStatement="Oracle" identity="true"/>
                </table>
    
    
            </context>
        </generatorConfiguration>
    
    

    下面展示下生成常量的model:

    在数据库中按照上面generator.xml文件的固定格式添加注释

    Snipaste_2019-07-16_15-27-37.png

    执行mybatis-generator

    Snipaste_2019-07-16_15-36-42.png

    如图展示:


    Snipaste_2019-07-16_15-29-26.png

    相关文章

      网友评论

          本文标题:# MyBatis逆向工程整合lombok

          本文链接:https://www.haomeiwen.com/subject/byhtlctx.html