声明:

对于这个插件的使用,我遇到了很多的坑,之前一直害怕使用这个插件,这次总结一下,以后在也不怕了

使用插件的项目目录(方便理解下面的步骤):

IDEA mybatis 生成Java实体类 idea mybatis自动生成插件_mysql

步骤:

1、在pom.xml文件中配置mybatis代码自动生成插件

<!--mybatis代码自动生成插件-->
<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.7</version>
    <!--*注意点1、configurationFile配置文件的位置,我直接把配置文件放在项目根目录下,和src并列,所以直接写文件名就可以了-->
    <configuration>
        <configurationFile>GeneratorMapper.xml</configurationFile>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
    <!--*注意点2、如果这个地方不写这,MyBatis自动导入的时候还是会失败,至于为什么我也不知道,反正加就对了,如果version爆红,可以在build上面的dependencies中先在本地库中下载一下,反正别忘记加-->
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>
    </dependencies>
</plugin>

2、不能在pom.xml文件中的build标签中写resources标签,如果写该标签,点击生成插件的时候就会出现错误:“Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate (default-cli) on project 15-seckill-service: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate failed: Cannot resolve classpath entry: E:\编程\后端开发\作品\NT\15-seckill-service\src\main\webapp -> [Help 1]”
3、配置文件GeneratorMapper.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>

    <!-- *注意点1:指定连接数据库的JDBC驱动包所在位置,指定到你本机的完整路径,直接复制粘贴本机完整路径就可以,注意下面的那个路径之间连接的是/,不是\ -->
    <classPathEntry location="C:/Program Files/MySQL/mysql-connector-java-5.1.23.jar"/>

    <!-- 配置table表信息内容体,targetRuntime指定采用MyBatis3的版本 -->
    <context id="tables" targetRuntime="MyBatis3">

        <!-- 抑制生成注释,由于生成的注释都是英文的,可以不让它生成 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!-- *注意2:配置数据库连接信息,注意:使用高版本的驱动url后面应该加属性nullCatalogMeansCurrent=true,否则生成有问题  -->
        <!--我连接的是mysql数据库,connectionURL里面的ip和端口以及数据库需要换成自己的,urserId就是用户名,password就是mysql的连接密码-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://192.162.93.135:3306/seckill?nullCatalogMeansCurrent=true"
                        userId="root"
                        password="123456">
        </jdbcConnection>

        <!-- 生成model类,targetPackage指定model类的包名, targetProject指定生成的model放在哪个工程文件下面-->
        <javaModelGenerator targetPackage="com.wkcto.seckill.model" targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
            <property name="trimStrings" value="false"/>
        </javaModelGenerator>

        <!-- 生成MyBatis的Mapper.xml文件,targetPackage指定mapper.xml文件的包名, targetProject指定生成的mapper.xml放在哪个工程文件下面 -->
        <sqlMapGenerator targetPackage="com.wkcto.seckill.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!-- 生成MyBatis的Mapper接口类文件,targetPackage指定Mapper接口类的包名, targetProject指定生成的Mapper接口放在哪个工程文件下面 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.wkcto.seckill.mapper"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>

        <!-- tableName后面是数据库表名,domainObjectName后面是表对应的bean实体类名 -->
        <table tableName="goods"
               domainObjectName="Goods"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false"/>

        <table tableName="orders"
               domainObjectName="Orders"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false"/>
    </context>
</generatorConfiguration>

4、以上配置完成之后可以点击自动生成插件按钮生成相关文件!

IDEA mybatis 生成Java实体类 idea mybatis自动生成插件_java_02