在IDEA中使用MyBatis Generator自动生成代码

步骤一:需要在pom.xml文件配置org.mybatis.generator插件
<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.2</version>
    <configuration>
        <!--配置文件的位置-->
        <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
</plugin>
步骤二:编辑配置文件(generatorConfig.xml) generatorConfig.xml 这个配置文件我们一般都放在resources路径下如下图结构

在IDEA中使用MyBatis 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>
    <!-- classPathEntry:数据库的JDBC驱动的jar包地址-->

    <classPathEntry location="D:\apache-maven-3.5.4\repository\mysql\mysql-connector-java\5.1.21\mysql-connector-java-5.1.21.jar" />
    <context id="MysqlTables" targetRuntime="MyBatis3">
        <!-- 注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/> <!-- 是否取消注释 -->
            <property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳-->
        </commentGenerator>
        <!-- JDBC连接 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/springmvc?useSSL=false&amp;characterEncoding=UTF-8"
                        userId="root"
                        password="123456">
        </jdbcConnection>
        <!-- 类型转换 -->
        <javaTypeResolver >
            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
        <!-- 生成实体类地址 -->
        <javaModelGenerator targetPackage="com.gaussic.pojo" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" /> <!-- 是否在当前路径下新加一层-->
            <property name="trimStrings" value="true" /> <!-- 是否针对string类型的字段在set的时候进行trim调用 -->
        </javaModelGenerator>
        <!-- 生成MAPXML文件 -->
        <sqlMapGenerator targetPackage="mybatis_mapper"  targetProject="src/main/resources">
            <property name="enableSubPackages" value="true" /> <!-- 是否在当前路径下新加一层-->
        </sqlMapGenerator>
        <!-- 生成DAO -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.gaussic.mapper"  targetProject="src/main/java">
            <property name="enableSubPackages" value="true" /> <!-- 是否在当前路径下新加一层-->
        </javaClientGenerator>
        <!-- 配置表信息 -->
        <!--useActualColumnNames 设置为true生成的表字段跟实体类一致-->
     <!-- <table  tableName="categorymaster" domainObjectName="categorymaster" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" ></table>-->
      <!-- <table tableName="categorydetail"
             domainObjectName="categoryDetail"
             enableCountByExample="false"
             enableUpdateByExample="false"
             enableDeleteByExample="false"
             enableSelectByExample="false"
             selectByExampleQueryId="false" >
          开启设置为true,数据库字段跟生成的实体类字段一致
         <property name="useActualColumnNames" value="true"/>
        </table>-->
    </context>

步骤四:在idea界面找到Maven Project菜单中的mybatis-generator:generate点击运行

在IDEA中使用MyBatis Generator自动生成代码

步骤五刷新项目我们可以看到 我可看到实体类,mapper,mapper.xml文件

注意:有时候我们发现Mybatis Generator 生成的mapper只有insert方法为什么呢?

 1:首先检查generatorConfig.xml中table项中的属性 是否设置成了false,默认的值是true。 
 2:检查生成的表是否有主键,没有记得加上,不然无法根据primaryKey生成select、update、delete方法