Intellij IDEA集成mybatis-generator插件自动生成数据库实体操作类
转载至:https://blog.csdn.net/fishinhouse/article/details/82529338
2018年09月08日 14:51:53 fishinhouse 阅读数 3206
1、File>Settings>Plugins,搜索mybatis-generator,默认没有安装。
2、点击Search in repositories链接,选择idea-mybatis-generator插件,右侧窗口点击install按钮,安装完成后提示重启IDEA。
3、配置idea-mybatis-generator插件
4、加号+新建maven,配置名称:MyBatis Generator,运行命令:mybatis-generator:generate -e
5、配置好后,运行项目选择:MyBatis Generator
6、 配置项目POM.xml文件(特别注意,这里一个坑,mybaits的plugin,必须在单独的plugins里面才会在右边的maven出来东西)
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<!--配置文件的位置-->
<configurationFile>src/main/resources/MyBatisGenerator.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
7、项目resources下要有MyBatisGenerator.xml文件
注:targetProject属性要配置为项目绝对路径,否则无法自动生成相关实体操作类。
IDEA的idea-mybatis-generator插件有个很大的BUG,自动生成的代码会覆盖mapper类中用户自定义接口。
其他参考文章:
https://www.cnblogs.com/heben/p/6088251.html
配置文件的样本如下:
<?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 location="C:/Users/Ash/.m2/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar"/>
<context id="productRelease">
<property name="mergeable" value="false" />
<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/springbankdb"
userId="a" password="a" />
<javaModelGenerator targetPackage="com.springbank.dao.generate.model"
targetProject="springbank-dao" />
<sqlMapGenerator targetPackage="com.springbank.dao.generate.mapper"
targetProject="springbank-dao" /> <javaClientGenerator targetPackage="com.springbank.dao.generate.mapper"
targetProject="springbank-dao" type="XMLMAPPER" />
<table tableName="owner" />
<table tableName="acctrate" />
<table tableName="acct" />
<table tableName="acctstatus" />
<table tableName="sysparam" />
<table tableName="rtxn" />
<table tableName="rate" />
<table tableName="ratetype" />
<table tableName="prod" />
<table tableName="rtxntypgl" />
<!-- <table tableName="scheduledjob" /> -->
</context>
</generatorConfiguration>
其他优化的参看文档:结合lombok