generator-maven-plugin 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
generator-maven-plugin 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票

软件简介

前言

该生成器是基于mybatis-plus的基础上根据个人在实际生产中所遇到过的各种设计而进行思考扩展的。为了提供更好地扩展性,使用者只需提供自定义的模板即可生成对应的文件,也可使用默认模板。目前模板语言只支持freemarker,因为作为一个生成工具个人认为无需考虑性能与使用哪种模板语言上的问题也没有对模板这方面进行深究,个人对freemarker也只是略懂(遇到不懂的表达式自己也是百度一下,无需深学),但也足以作为生成所需。项目地址:[maven版],[依赖类生成版]。通过依赖注入生成的版本之后可能会废弃,仅供研究。虽然觉得功能已足够,但还是希望使用者们发现扩展性强的功能可以提一下建议,采纳后会尽快更新版本。

1.功能简介    

    目前可选择的生成器很多,个人目前所接触过的有tk、mybatis源生、mybatis-plus、jOOQ的生成器,各个项目基本都是基于持久层框架而选择相应的生成器的,这也使得生成器对应的持久层框架适配性最好。当然,扩展性强的也有,mybatis-plus是个人认为以上几个生成器中扩展性最好的,缺点是需要添加依赖,生成器类无法为每个项目重用,特别是在多模块项目中修改量较大。以下是个人基于mybatis-plus生成器的功能与个人的思考扩展后集成为maven生成器插件的主要功能:
        - 基于数据库字段注释指定样式的常量生成(建议一个entity对应一个constant,这样即便负责不同模块的负责人或接手维护者也可迅速定位一个实体的常量维护类,而无需考虑因开发者因对领域的不同理解划分而增加查找难度,当然仅是个人在开发过程中所遇到的问题)
        - 只生成/不生成表名含指定关键字的service、serviceImpl模板文件(基于服务中的领域耦合可考虑哪些数据表无需生成)
        - 根据自定义的freemarker模板生成文件,设置了(如自定义生成相应的Manager层进行业务下沉,VO、DTO生成) 

2.快速开始(mvn generator:generate)

  • 2.1 pom.xml插件配置

<plugin>
    <groupId>io.github.wilson-he</groupId>
    <artifactId>generator-maven-plugin</artifactId>
    <version>LATEST</version>
    <configuration>
        <basePackage>io.github.test</basePackage>
        <dataSource>
            <url><![CDATA[jdbc:mysql://localhost:3306/wilson?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false]]></url>
            <username>root</username>
            <password>tiger</password>
            <driverType>MYSQL</driverType>
        </dataSource>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
</plugin>
  • 2.2 生成效果图

     

3. 目前支持的配置项

  - outputDirectory: 输出绝对路径,默认生成到当前pom项目模块的target/generate-sources下
  - basePackage: 各层文件生成的基包[**required**]
  - isCleanBefore(boolean): 文件生成前是否清空当前模块下的target目录,默认false
  - useSwagger(boolean):生成文件是否带swagger注解,默认false
  - superEntityClass:entity父类,完整包路径.类名
  - author:模板author值
  - dataSource: 数据库配置[**required**]
    - url
    - username
    - password
    - driverType:数据库驱动类型(MYSQL,ORACLE,POSTGRE_SQL)
  - templates: 自定义模板配置、模板生成配置,不配置则使用默认模板配置生成
    - entityPath: resources下的自定义entity模板相对路径
    - constantPath
    - daoPath
    - xmlPath
    - servicePath
    - serviceImplPath
    - controllerPath
    - entityPattern: entity名称样式,如:%sDO将以{tableName}DO命名生成
    - daoPattern
    - xmlPattern
    - servicePattern
    - serviceImplPattern
    - controllerPattern
    - excludeEntity: true/false,是否生成entity模板类
    - excludeXxx: 同excludeEntity
    - excludeController: 默认true,其它层默认false
    - customs: 对象列表,自定义模板
      - layerName: 模板分层名(请勿使用已存在ftl变量)
      - subPackage: 所在子包
      - path: 模板在resources下的相对路径
  - exclusions: 字符串数组,不生成表名含数组内字符串的所有文件,默认空
  - inclusions: 字符串数组,只生成表名含数组内字符串的所有文件,默认空
  - upstreamExclusions: 字符串数组,不生成表名含数组内字符串的自定义模板、service、serviceImpl、controller文件,默认空
  - upstreamInclusions: 字符串数组,只生成表名含数组内字符串的自定义模板、service、serviceImpl、controller文件,默认空
  - logicDeleteFieldName: 全局逻辑删除字段名,默认空
  - tablePrefix: 字符串数组,表名前缀,默认空

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
07/16 10:25

mybatis-generator-maven-plugin 的使用

mybatis-generator-maven-plugin 使用 在pom中添加插件 <!-- mybatis generator 自动生成代码插件 --> <!--命令:mybatis-generator:generate--> <!--详情参考:http://www.mybatis.org/......

0
0
02/27 09:35

mybatis-generator-maven-plugin:Communications link failure

使用 mybatis-generator 的 maven 插件可能会报出如下问题 Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate (default-cli) on project MyProject: Communications ......

0
0
发表于开发技能专区
2016/06/17 09:06

IDEA mybatis-generator-maven-plugin 插件的使用

最近刚换工作,一直在忙,都不晓得忙了个啥,好久没有更新了,说好的坚持呢? 以前用mybatis generator的时候要么去找源码里面的demo,要么网上胡乱到处搜索,突然发现idea里面已经集成了,当然我提前安装了mybatis pluin的哦

1
4
发表了博客
2019/09/11 16:56

避免maven package 打包时执行 mybatis-generator-maven-plugin 插件

一、为什么打包时会执行该插件 mybatis-generator-maven-plugin默认绑定了package的生命周期 二、如何解决 如果在package和install 执行插件,修改pom中的配置(黄色部分是修改后的部分,注释部分是之前的,之前的mvn打包有问题) <build> <plugins> <plugin> <groupId>org.springframework...

0
0
发表了博客
2016/01/31 21:55

maven之plugin

发布 clean deploy 设置pom <distributionManagement> <repository> <id>user-release</id> <name>user release resp</name> <url>http://localhost:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>user-snapshot</id> <name>user snapshot</name> <url>http://localhost:808...

0
1
发表于开发技能专区
2019/03/20 22:09

基于h2数据库使用mybatis-generator-maven-plugin生成代码实践

背景 在一般用到mybatis的项目中,大家一般都习惯用mybatis-generator直连数据库来生成mapper文件和java代码,然后再根据实际情况对项目中已有的mapper文件和java代码进行调整,这样做可能会存在2个问题: 在把生...

0
0
发表于AI & 大数据专区
2018/10/18 11:56

使用Maven打包你的应用——maven-jar-plugin & maven-assembly-plugin & maven-shade-plugin

原文链接:https://www.dubby.cn/detail.html?id=9091 介绍maven-jar-plugin,maven-assembly-plugin和maven-shade-plugin的使用,和他们之间的区别。原文出自:https://blog.dubby.cn/detail.html?id=9091 1.mave......

0
0
发表了博客
2016/09/06 09:54

mybatis-generator-maven-plugin 插件自动生成pojo和xml文件报错

mybatis-generator-maven-plugin 插件自动生成pojo和xml文件报错 ,错误提示 IS_GENERATEDCOLUMN not found ,错误引起的是mybatis-generator-core版本1.3.4一起的,改成1.3.2可以解决 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <versi...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
9 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部