这篇文档其实说的很详细了,这里只是作为补充。
1.在pom文件中的properties节点内加入以下信息
<!-- MyBatis Generator -->
<!-- Java接口和实体类 -->
<targetJavaProject>${basedir}/src/main/java</targetJavaProject>
<!--生成mapper接口的输出目录-->
<targetMapperPackage>tk.mybatis.mapper.mapper</targetMapperPackage>
<!--生成model实体类的输出目录-->
<targetModelPackage>tk.mybatis.mapper.model</targetModelPackage>
<!-- XML生成路径 -->
<targetResourcesProject>${basedir}/src/main/resources</targetResourcesProject>
<targetXMLPackage>mapper</targetXMLPackage>
<!-- 依赖版本 -->
<mapper.version>4.0.4</mapper.version>
<mysql.version>5.1.31</mysql.version>
2.在pom文件中plugin插件位置(),如下:
<build>
<pluginManagement>
<plugins>
<plugin>
插件1
</plugin>
<plugin>
插件2
</plugin>
....
</plugins>
</pluginManagement>
</build>
在<plugins></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>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>${mapper.version}</version>
</dependency>
</dependencies>
</plugin>
这里提醒以下:configurationFile中配置的路径一定要对,否则maven编译的时候会报错,can not resolve entry class类似于这样的错误。还有这里的src/main/resources一定要是resources,我这里出现的情况是web工程里的名字是resource文件夹,我这里配置了src/main/resource还是编译不通过。遂改为resources,如果你没出现这种情况,则可以忽略。
3.书写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>
<properties resource="config.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="${mapper.plugin}">
<property name="mappers" value="${mapper.Mapper}"/>
</plugin>
<jdbcConnection driverClass="${jdbc.driverClass}"
connectionURL="${jdbc.url}"
userId="${jdbc.user}"
password="${jdbc.password}">
</jdbcConnection>
<javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}"/>
<sqlMapGenerator targetPackage="${targetXMLPackage}" targetProject="${targetResourcesProject}"/>
<javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}" type="XMLMAPPER" />
<!--这里的tableName可以指定,也可以使用"%",意思对当前数据库的所有表执行-->
<table tableName="user" >
<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
</table>
</context>
</generatorConfiguration>
4.书写config.properties文件,和第三步文件相关联
# 数据库配置
jdbc.driverClass = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/ssm
jdbc.user = root
jdbc.password =12345
#c3p0
jdbc.maxPoolSize=50
jdbc.minPoolSize=10
jdbc.maxStatements=100
jdbc.testConnection=true
# 通用Mapper配置
mapper.plugin = tk.mybatis.mapper.generator.MapperPlugin
#mapper.Mapper = tk.mybatis.mapper.common.Mapper
#这里我们不用它默认提供的,而是我们自己自定义的。
mapper.Mapper = upload.mapper.CustomMapper
这里要注意,我这里Mapper没有使用tk默认的,而是我自己自定义的,因为我自定义的Mapper继承了它的Mapper,也是因为我使用自定义的Mapper作为我的通用Mapper的父类,所以这样配置.如果你没有自定义,使用tk提供的默认的即可。
5.执行maven编译命令。
提示:如果你在pom文件中配置完plugin,idea对应的maven视图中会出现你的plugin名字。
就是在这个下面,但是我这里是没有显示的。我还没找到原因,如果你找到原因了,可以留言评论,多谢。
如果上述位置有,你只需要双击就会自定执行maven编译。
如果没有,则在配置服务器那里新建一个maven,如图:
注意:这里在idea执行命令时,上述作者的编译命令为mvn mybatis-generator:generate,这里不需要mvn,把mvn去掉执行,否则会报错。
配置完了之后apply,回到主页面点击执行按钮即可。对了,maven编译之前一定要把对应的数据库打开,mysql/oracle。否则会报Communition link false 的错误。
PS:直接看文章开始的链接文章即可。本篇博文只是作为补充和个人记录。