• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

mybatis.generator.plugins: mybatis代码生成器插件,扩展其他文件生成 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

mybatis.generator.plugins

开源软件地址:

https://gitee.com/lizhivscaomei/mybatis.generator.plugins

开源软件介绍:

Mybatis generator plugin 自定义扩展

简介

该程序是对Mybatis Generator(以下简称MG)的扩展,在MG生成代码时,默认只生成dao层的代码(client、entity、xml),如果想生成service层、controller层、甚至前段代码时非常困难的。还好MG提供了插件扩展。目前支持以下文件的生成

  • Service接口
  • ServiceImp实现类
  • Controller
  • CommonPlugin(万能通用)
  • MyCommentGenerator Entity自定义注释

模板路径约定

模板文件约定位置

src/main/resources/template下,如果用户创建该文件夹,插件会在此文件夹下寻找模板,如果没有,用插件自带模板。

文模板文件名约定

  • Service.ftl
  • ServiceImp.ftl
  • Controller.ftl

Maven使用方法

安装

下载源码,通过maven安装到本地仓库。

配置

我认为你已经熟练使用MG进行dao层代码的生成。已经基于maven插件配置好MG。接下来,只需要两步即可完成插件配置

  • 1.pom.xml添加依赖

    配置参考

    <plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><dependencies>	<dependency>		<groupId>mysql</groupId>		<artifactId>mysql-connector-java</artifactId>		<version>5.1.34</version>	</dependency>	<dependency>		<groupId>org.mybatis.generator</groupId>		<artifactId>mybatis-generator-core</artifactId>		<version>1.3.2</version>	</dependency></dependencies><configuration>	<verbose>true</verbose>	<overwrite>true</overwrite>	<configurationFile>src/main/resources/mybatis-generator.xml</configurationFile></configuration></plugin>
  • 2.mybatis-generator.xml配置插件

    注意:mybatis-generator.xml中各个元素有前后顺序关系,plugin位置最好不要变动。

    配置参考

    <?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>    <context id="mysql" defaultModelType="flat" targetRuntime="MyBatis3" >        <property name="autoDelimitKeywords" value="false"/>        <property name="javaFileEncoding" value="UTF-8"/>        <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>        <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>        <property name="beginningDelimiter" value="`"/>        <property name="endingDelimiter" value="`"/>        <plugin type="org.mybatis.generator.plugins.SerializablePlugin">            <property name="suppressJavaInterface" value="false"/>        </plugin>        <plugin type="com.lizhivscaomei.jes.codegen.mybatis.plugins.ServicePlugin">            <property name="targetProject" value="src/main/java"/>            <property name="targetPackage" value="com.lizhivscaomei.jes.sys.service"/>        </plugin>        <plugin type="com.lizhivscaomei.jes.codegen.mybatis.plugins.ServiceImpPlugin">            <property name="targetProject" value="src/test/java"/>            <property name="targetPackage" value="com.lizhivscaomei.jes.sys.service"/>        </plugin>        <jdbcConnection driverClass="com.mysql.jdbc.Driver"                        connectionURL="jdbc:mysql://127.0.0.1:3306/jes"                        userId="root"                        password="123456">        </jdbcConnection>        <javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">            <property name="forceBigDecimals" value="false"/>        </javaTypeResolver>        <javaModelGenerator targetPackage="com.lizhivscaomei.jes.sys.entity" targetProject="src/main/java">            <property name="enableSubPackages" value="true"/>            <property name="trimStrings" value="true"/>        </javaModelGenerator>        <javaClientGenerator targetPackage="com.lizhivscaomei.jes.sys.dao" type="ANNOTATEDMAPPER" targetProject="src/test/java">            <property name="enableSubPackages" value="true"/>        </javaClientGenerator>        <table tableName="sys_area"  ></table>        <table tableName="sys_dict"  ></table>        <table tableName="sys_domain"></table>        <table tableName="sys_log"   ></table>        <table tableName="sys_mdict" ></table>        <table tableName="sys_menu"  ></table>        <table tableName="sys_office"></table>        <table tableName="sys_param" ></table>        <table tableName="sys_role"  ></table>        <table tableName="sys_role_menu" ></table>        <!--<table tableName="sys_role_office"></table>-->        <table tableName="sys_user"  ></table>        <table tableName="sys_user_role" ></table>    </context></generatorConfiguration>

自定义模板

模板文件基于freemaker制作。模板生成前会将一下变量加入模板的上下文中。

  • targetPackage java文件的package
  • ATTR_BASE_RECORD_TYPE entity类的全路径
  • ATTR_MYBATIS3_JAVA_MAPPER_TYPE mapper类的全路径
  • ATTR_EXAMPLE_TYPE entityExample文件的全路径
  • entityName entity类的类名
  • entityNameFirstSmall entity变量名

生成代码

代码生成参考MG的使用

打赏

本着开源共享的思想,利用业余时间完成,确实不易。如果觉得好,给我前进的动力。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap