实现的功能
- 主要整合了
lombok插件
实现getter/setter等通用方法的自动生成,同时自定义实现了一个注释生成器, 通过抓取数据库表里面的注释作为实体类的注释内容。(支持生成数据库表字段常量)
插件的用法
- 如果你想在你的maven中使用,就直接
git clone git@gitee.com:chenxiaoxinFrank/mybatis-generator-lombok-plugin.git
这个项目到你的IDEA,然后使用maven clean install
将这个项目添加到Maven仓库里去。
将这个项目添加到Maven仓库里去。
之后你只要在你的要使用这个插件的项目的pom.xml中加入如下内容便可:
注:tk.mybatis和org.mybatis.generator的版本是对应的,请勿随意替换
<properties>
<targetJavaProject>${basedir}/src/main/java</targetJavaProject>
<targetResourcesProject>${basedir}/src/main/resources</targetResourcesProject>
<targetMapperPackage>com.XXX.data.mapper</targetMapperPackage>
<targetModelPackage>com.XXX.data.model</targetModelPackage>
<targetXMLPackage>com.XXX.data.mapper</targetXMLPackage>
</properties>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generator.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>com.frank.mybatis.plugin</groupId>
<artifactId>mybatis-generator-lombok-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>
同时添加配置文件generator.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>
<!--指向本地oracle客户端路径-->
<classPathEntry location="D://git/maven/repository_1/com/oracle/ojdbc6/6/ojdbc6-6.jar"/>
<context id="Oracle" targetRuntime="MyBatis3">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
<property name="caseSensitive" value="true"/>
</plugin>
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
<!-- 整合lombok-->
<plugin type="com.frank.mybatis.plugin.LombokPlugin" >
<property name="hasLombok" value="true"/>
</plugin>
<!--自定义注释插件-->
<plugin type="com.frank.mybatis.plugin.CommentPlugin">
<!--开启根据注释生成常量,需把常量字段定义为json-->
<!--模板规则-->
<!--注释{'常量后缀1':'值#描述','常量后缀2':'值#描述’}-->
<!--注意:若数据类型是 character和text 类型字段值需要用""符号-->
<!--示例如下:-->
<!--id{'test':'"0"#测试','dev':'"1"#开发','par':'"2"#生产'}-->
<property name="makeConstant" value="true"/>
</plugin>
<commentGenerator >
<property name="suppressAllComments" value="false"/>
</commentGenerator>
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@//127.0.0.1:1522/wodb"
userId="wodb"
password="wodb">
<!--生成oracle注释-->
<property name="remarksReporting" value="true"/>
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--对应pom中<properties>的配置-->
<javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}"/>
<sqlMapGenerator targetPackage="${targetXMLPackage}" targetProject="${targetResourcesProject}"/>
<javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}"
type="XMLMAPPER"/>
<table schema="wodb" tableName="T_USER" enableCountByExample="true" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="true" selectByExampleQueryId="false">
<generatedKey column="ID" sqlStatement="Oracle" identity="true"/>
</table>
</context>
</generatorConfiguration>
下面展示下生成常量的model:
在数据库中按照上面generator.xml文件的固定格式
添加注释
Snipaste_2019-07-16_15-27-37.png
执行mybatis-generator
Snipaste_2019-07-16_15-36-42.png如图展示:
Snipaste_2019-07-16_15-29-26.png
网友评论