美文网首页
Mybatis自动生成代码

Mybatis自动生成代码

作者: 万物归于简 | 来源:发表于2019-05-04 02:23 被阅读0次

添加maven插件

       <plugins>
           <plugin>
               <groupId>org.mybatis.generator</groupId>
               <artifactId>mybatis-generator-maven-plugin</artifactId>
               <version>1.3.7</version>
               <configuration>
                   <verbose>true</verbose>
                   <overwrite>true</overwrite>
               </configuration>
               <dependencies>
                   <dependency>
                       <groupId>org.mybatis.generator</groupId>
                       <artifactId>mybatis-generator-core</artifactId>
                       <version>1.3.7</version>
                   </dependency>
               </dependencies>
           </plugin>
       </plugins>

generator配置文件

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="generator.properties"/>
    <classPathEntry location="${jdbc.driverLocation}"/>
    <context id="default" targetRuntime="MyBatis3">
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
        <!--<plugin type="org.mybatis.generator.plugins.BaseImportPlugin"/>-->
        <!--<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />-->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
        <commentGenerator > <!--若自定义注释,可添加属性 type="com.gqlofe.MyCommentGenerator"  MyCommentGenerator类自定义,继承DefaultCommentGenerator-->
            <property name="javaFileEncoding" value="UTF-8"/>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <jdbcConnection driverClass="${jdbc.driverClass}"
                        connectionURL="${jdbc.connectionURL}" userId="${jdbc.userId}"
                        password="${jdbc.password}"/>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!--生成Model类存放位置-->
        <javaModelGenerator targetPackage="${entityPath}" targetProject="${basePath}">
            <property name="constructorBased" value="false"/>
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
            <property name="immutable" value="false"/>
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="${packagePath}" targetProject="${basePath}">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <javaClientGenerator targetPackage="${packagePath}" targetProject="${basePath}" type="XMLMAPPER">
            <property name="enableSubPackages" value="true"/>
            <property name="exampleMethodVisibility" value="default"/>
            <property name="methodNameCalculator" value="default"/>
            <!--<property name="rootInterface" value=""/>-->
            <property name="useLegacyBuilder" value="false"/>
        </javaClientGenerator>

        <!-- 配置需要生成代码的数据库&表结构信息,如果多张表生成代码赋值多次填写即可 -->
        <table schema="push" tableName="${tableName}"  domainObjectName="${domainObjectName}"
               enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
               enableSelectByPrimaryKey="true" enableUpdateByPrimaryKey="true" enableInsert="true" enableDeleteByPrimaryKey="true"
        />

    </context>
</generatorConfiguration>

generator.properties

#mysql驱动jar包位置
jdbc.driverLocation=D:/maven_repo/mysql/mysql-connector-java/8.0.13/mysql-connector-java-8.0.13.jar

jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://localhost:3306/${database}?useSSL=false&serverTimezone=UTC
jdbc.userId=root
jdbc.password=123

# 项目
targetProject=com.test.demo
basePath=src/main/java

# 数据库名称
database=test
# 表名称
tableName=test
# 生成的实体类名
domainObjectName=TestDO
# 实体类目录
entityPath=com.test.demo.bean
# mapper文件目录
packagePath=com.test.demo.dao

自定义注释

generator插件生成的注释并不友好,若想将表字段的注释加载出来,需要自定义注释类

新建项目,添加generator插件依赖
关键是写一个类继承DefaultCommentGenerator,用maven打包。

image.png

编写自定义注释类,继承DefaultCommentGenerator

image.png

打包到本地仓库。

image.png image.png

相关文章

网友评论

      本文标题:Mybatis自动生成代码

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