AgileFramework系列组件——agile-generator 代码生成器

9 篇文章 0 订阅
7 篇文章 0 订阅

agile-generator : 代码生成器


源码地址:https://gitee.com/agile-framework/agile-generator

它有什么作用

  • 持久层POJO生成

  • 自定义数据库类型与java类型映射

  • 支持生成JPA、HibernateValidate、lombok等注解


快速入门

开始你的第一个项目是非常容易的。

步骤 1: 下载包

您可以从[最新稳定版本]下载包(https://github.com/mydeathtrial/agile-generator/releases).
该包已上传至maven中央仓库,可在pom中直接声明引用

以版本agile-generator-2.0.0.jar为例。

步骤 2: 添加maven依赖
<!--声明中央仓库-->
<repositories>
    <repository>
        <id>cent</id>
        <url>https://repo1.maven.org/maven2/</url>
    </repository>
</repositories>
<!--声明依赖-->
<dependency>
    <groupId>cloud.agileframework</groupId>
    <artifactId>agile-generator</artifactId>
    <version>2.0.0</version>
</dependency>
步骤 3: 开箱即用
//配置生成规则
agile:
  generator:
    //实体类生成的前缀
    entity-prefix: ''
    //实体类生成的后缀
    entity-suffix: Entity
    //实体类生成文件存放位置
    entity-url: D:\workspace-agile\agile-generator\src\test\java\com\agile\entity
    //扫描的数据库表名,支持英文逗号分隔与`like + %`方式形式过滤
    table-name: 'sys_%,dictionary_data'
    //生成的注解种类,共4种,JPA(JPA注解)、VALIDATE(hibernate-validate验证注解)、LOMBOK(lombok注解)、REMARK(备注信息注解)
    annotation: LOMBOK,REMARK
    //数据库关键字,当字段名与关键字重叠时,生成器会为其添加``号,生成器已内置部分关键字,更多关键字可以在此添加
    keywords: order,dec,desc
    //字段类型映射,key为数据库类型,value为java类型
    column-type:
      char: java.lang.String
      varchar: java.lang.String

//数据库连接,代码生成器借用spring-boot-starter默认的连接方式,获取数据库连接信息
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/dsmc?serverTimezone=GMT%2B8&useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&autoReconnect=true&allowPublicKeyRetrieval=true
    username: root
    password: 123456

运行生成器
代码生成器是通过main方法直接运行触发,可以直接运行cloud.agileframework.generator.AgileEntityGenerator

运行后日志

20:19:59.250 [main] INFO cloud.agileframework.generator.AgileEntityGenerator - 【1】开始生成源代码
...
20:20:00.722 [main] INFO cloud.agileframework.generator.AgileEntityGenerator - 【2】完成配置初始化,开始生成文件...
...
20:20:09.379 [main] DEBUG cloud.agileframework.generator.util.FreemarkerUtil - 生成文件[D:\workspace-agile\agile-generator\src\test\java\com\agile\entity\UebaStrategyRealtimeTimewindowEntity.java]
20:20:09.411 [main] DEBUG cloud.agileframework.generator.util.FreemarkerUtil - 生成文件[D:\workspace-agile\agile-generator\src\test\java\com\agile\entity\UebaStrategyRealtimeTriggerEntity.java]
20:20:09.442 [main] DEBUG cloud.agileframework.generator.util.FreemarkerUtil - 生成文件[D:\workspace-agile\agile-generator\src\test\java\com\agile\entity\UebaStrategyRepeatEntity.java]
20:20:09.489 [main] DEBUG cloud.agileframework.generator.util.FreemarkerUtil - 生成文件[D:\workspace-agile\agile-generator\src\test\java\com\agile\entity\UebaStrategyTimewindowEntity.java]
20:20:09.504 [main] DEBUG cloud.agileframework.generator.util.FreemarkerUtil - 生成文件[D:\workspace-agile\agile-generator\src\test\java\com\agile\entity\UebaUserWatchEntity.java]
20:20:09.520 [main] INFO cloud.agileframework.generator.AgileEntityGenerator - 【3】完成源代码生成
...
Process finished with exit code 0

#####注意
代码生成器是依赖配置文件读取数据库信息,所以运行时需要注意控制台开始打印的加载配置文件记录中是否包含你的
配置文件,配置文件会加载编译路径下的所有properties、yml配置文件,如下:

15:26:55.779 [main] INFO cloud.agileframework.generator.AgileEntityGenerator - 【1】开始生成源代码
/cloud/agileframework/generator/template/Entity.ftl
/cloud/agileframework/generator/template/Showdoc.ftl
/cloud/agileframework/generator/template/Test.ftl
/META-INF/additional-spring-configuration-metadata.json
/META-INF/spring.factories
/application.yml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值