Bootstrap

Mybatis的代码生成工具

SSM中使用步骤

1、在 pom.xml 添加插件

pom.xml

<!-- build-plugins下 -->
<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.7</version>
    <configuration>
        <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
        <overwrite>true</overwrite>
        <verbose>true</verbose>
    </configuration>
</plugin>

2、在资源目录下添加配置文件

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>
    <!-- 【配置mysql连接的jar包位置】 -->
    <classPathEntry  location="D:\mysql-connector-java-8.0.18.jar"/>

    <!--targetRuntime用MyBatis3, 也就是默认的-->
    <context id="DB2Tables" targetRuntime="MyBatis3">

        <commentGenerator>
            <!-- 去除自动生成的注释 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!--基础的数据库连接,【根据自己的修改】-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test?serverTimezone=UTC"
                        userId="root"
                        password="root">
        </jdbcConnection>

        <!--Java类型解析器, 目前也就只有forceBigDecimals可以给你玩-->
        <javaTypeResolver>
            <!--当数据类型为DECIMAL或者NUMERIC的时候, 如果是true的话则总是使用java.math.BigDecimal-->
            <!--以下是false, 即默认值的情况-->
            <!--如果有小数或者decimal长度大于18, Java类型为BigDecimal-->
            <!--如果没有小数, 以及decimal长度为10至18, Java类型为Long-->
            <!--如果没有小数, 以及decimal长度为5至9, Java类型为Integer-->
            <!--如果没有小数, 以及decimal长度少于5, Java类型为Short-->
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- Domain生成器,【修改 cn.hyl.demo】-->
        <javaModelGenerator targetPackage="cn.hyl.demo.model" targetProject=".\src\main\java">
        </javaModelGenerator>

        <!-- Mapping生成器,【修改 cn.hyl.demo】-->
        <sqlMapGenerator targetPackage="cn.hyl.demo.dao" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!--Mapper生成器, 当type为ANNOTATEDMAPPER时是带有@annotation的Mapper, MIXEDMAPPER是XML文件-->
        <!-- 【修改 cn.hyl.demo】-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="cn.hyl.demo.dao" targetProject=".\src\main\java">
            <property name="enableSubPackages" value="true"/>

            <!--每个Mapper所继承的接口-->
            <!-- <property name="rootInterface" value="com.github.prontera.Mapper"/>-->
        </javaClientGenerator>

        <!--字段命名策略过程: <columnRenamingRule> >> property name="useActualColumnNames"-->
        <!--alias属性是个神器, 会为所有SQL都添加, 做关联的时候就非常方便了-->
        <!--几张表写几个table标签-->
        <!-- 【修改 t_admin和Admin,t_admin:表名;Admin:生产的类名】-->
        <table tableName="t_admin" domainObjectName="Admin"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>

    </context>
</generatorConfiguration>

3、在 D 盘下放入 mysql-connector-java-8.0.18.jar

路径根据文件可以修改;版本无所谓

4、在 Maven 中使用配置好的插件

;