声明:
对于这个插件的使用,我遇到了很多的坑,之前一直害怕使用这个插件,这次总结一下,以后在也不怕了
使用插件的项目目录(方便理解下面的步骤):
步骤:
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、以上配置完成之后可以点击自动生成插件按钮生成相关文件!