mybatis-generator代码生成器使用(一)

1.在pom.xml中添加插件 mybatis-generator-maven-plugin

<build>
        <plugins>           
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <configuration>
                    <!-- 在控制台打印执行日志 -->
                    <verbose>true</verbose>
                    <!-- 重复生成时会覆盖之前的文件-->
                    <overwrite>true</overwrite>
                    <!--指定配置文件的位置-->
                    <configurationFile>src/main/resources/mybatisGenerator.xml</configurationFile>
                </configuration>
            </plugin>
        </plugins>
    </build>

2.在src/main/resources下添加配置文件mybatisGenerator.xml,前提在location位置有 mysql-connector-java-5.1.46.jar,在项目下面创建一个temp文件夹

<?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>
    <!-- MyBatis代码生成器 @author Moshow -->
    <!-- 需要修改的地方是①②③④,然后执行批处理即可 -->

    <!-- classPathEntry:数据库的JDBC驱动,①location换成你自己的mysql类库位置 -->
    <!-- maven一般在C:UsersAdministrator.m2
epositorymysqlmysql-connector-java,也可以自己下载一个并指定 -->
    <!-- <classPathEntry
        location="E:MyEclipse Professional 2014.metadata.me_tcat7webappszkungfuWEB-INFlibojdbc6.jar" /> -->
    <classPathEntry
        location="C:UsersAdministrator.m2
epositorymysqlmysql-connector-java5.1.46mysql-connector-java-5.1.46.jar" />
    <context id="DB2Tables" targetRuntime="MyBatis3">

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

        <!-- 数据库连接,②userId&password改成自己的配置,如果是oracle还需要修改目录下的tnsnames.ora -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://192.168.1.113:3306/online-taxi-three?characterEncoding=UTF-8"
            userId="root" password="123456">
        </jdbcConnection>
        <!-- <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
            connectionURL="jdbc:oracle:thin:@localhost:1521:OrderTest"
            userId="xxx" password="xxx"> 
        </jdbcConnection>-->


        <javaTypeResolver>
            <!-- 默认 false,把 JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
             为 true 时解析为 java.math.BigDecimal -->
            <property name="forceBigDecimals" value="true" />
        </javaTypeResolver>

        <!-- targetProject:③修改自动生成代码的位置,包括DAO/entity/XML,一般生成在项目下面的src或者test -->
        <!-- 生成vo对象 -->
        <javaModelGenerator targetPackage="com.dandan.cloudzuul.entity"
            targetProject="E:idea_workspaceprojectname	emp">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
            <!--
                targetProject 生成的Java Bean放置在哪个项目的哪个目录下 targetPackage 生成的Java Bean的包名
                一个有用的属性 <property name="trimStrings" value="true" /> 从数据库返回的值被清理前后的空格
                <property name="enableSubPackages" value="false" /> 是否在包名后加上scheme名称
            -->
        </javaModelGenerator>
         <!-- 生成用于查询的Example对象 -->
         <sqlMapGenerator targetPackage="com.dandan.cloudzuul.mapper"
            targetProject="E:idea_workspaceprojectname	emp">
            <property name="enableSubPackages" value="true" />
             <!--
                targetProject 生成的 SqlMap.xml 文件放置在哪个项目的哪个目录下 targetPackage 生成的
                SqlMap.xml 文件的包名 <property name="enableSubPackages" value="false" />
                是否在包名后加上scheme名称
                -->
        </sqlMapGenerator>
        
        <!-- 生成DAO的类文件以及配置文件 -->
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="com.dandan.cloudzuul.mapper"
            targetProject="E:idea_workspaceprojectname	emp">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- tableName:④用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->
        <!-- <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />//无论字段是什么类型,生成的类属性都是varchar。  -->
         <table tableName="table_name" domainObjectName="pojo_name"
            enableCountByExample="false"
            enableUpdateByExample="false"
            enableDeleteByExample="false" 
            enableSelectByExample="false"
            selectByExampleQueryId="false" 
            />
    </context>

</generatorConfiguration>

3.在idea的edit configurations里创建maven运行插件即可。

working dictionary选择项目的位置

command line 中输入 mybatis-generator:generate -e

4.参考链接

  https://www.jianshu.com/p/b519e9ef605f
  https://www.jianshu.com/p/4db902936b29

原文地址:https://www.cnblogs.com/zheaven/p/15499866.html