后端代码生成器 Spring boot + Mybatis plus 不做重复crud仔!

infrastructure-code-generator是什么

作为一个成熟的程序猿,大家肯定都会经常去做一些不可避免的CRUD操作,是不是非常枯燥,大量的仓储层代码如增删改查的mapper、xml、分页查询、仓储层接口及实现,重复的体力劳动也只能让你的crud变得更加熟练,但并不能锻炼你的业务能力,尽管你无论是现在做系统架构,基础架构或者是某大厂某x部门,很难脱离这些基本的crud操作,除非你真的一点业务都不参与,可能只是做一做公司的基础架构组件建设,以及技术架构。因此如何解放双手,让我们更加沉浸到业务逻辑当中,沉浸到业务逻辑设计,大白话讲不要沉迷于搬砖,而是专注于如何设计结构,让结构更加牢固,此工具应运而生(其实是本人真的忍不了了===)

infrastructure-code-generator是我在业余时间开发的一个基于jpt技术的仓储层代码生成器,如果你使用过mapstruct或者lombok,是的,原理与他们无异,但此工具使用起来将会让你事半功倍,更加简单和效率,毫无配置

需要注意的是,此工具并不会帮你生成controller展现层,因为接口的展现层常常是复杂和多变的,每个团队有不同的接口规范和接口风格,并且展现层可能会出现入参vo转换的情况,很多属性是需要业务场景去做考虑的,因此在设计之初,此工具的定位就是帮你生成仓储层即数据库交互层的逻辑实现。

特点
  • 目前仅支持JPT仓储层代码生成
  • 仅支持mysql数据库且rpm框架为mybatis-plus
  • 可拔插,注解使用,可拷贝代码到项目工程下使用,可直接使用生成代码
  • 易用,注解简洁明了,且属性少
  • 编译时调用,对性能几乎无影响

使用演示

1、maven坐标
<dependency>
    <groupId>com.cyjer</groupId>
    <artifactId>infrastructure-code-generator</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>
2、根据数据库po对象生成仓储层应用接口、接口实现、mapper、mapper xml

从上图可以看到,你不需要做额外配置,只需要按照你正常的开发习惯,在仓储层实体po类上打上@GeneratorInfrastructureApplication注解,在你的idea中重新构建项目,即可在项目的target目录下生成出漂亮的符合一定规范的仓储层代码

  • 默认java源码生成地址:target/generated-sources/generator
  • 默认mapper xml生成地址:target/class/mapper

生成源码的位置包名可通过@GeneratorInfrastructureApplication注解的generatorJavaPackageLocation和generatorXmlPackageLocation属性进行更改, 生成的类注释的作者可通过author属性更改

需要注意:指定@SpringBootApplication(scanBasePackages = {"com.xxx",generator}) 和@MapperScan(basePackages = {"com.**.mapper","generator.mapper"})

注解spring bean包扫描位置,以便能够扫描到生成源码bean,如果你没有指定上述的生成位置,那么请参考如下配置

@SpringBootApplication(scanBasePackages = {"com.xxx","generator"})
@MapperScan(basePackages = {"com.xxx.**.mapper","generator.mapper"})
3、根据类字段生成相应的更新查询删除方法
根据字段进行查询 @GeneratorQueryByThisField注解

img_2.png

注解有两个属性:resultType返回类型、batch是否依据此字段批量查询, 当batch开启时,resultType返回类型指定将失效,固定返回类型为List

使用方式: 

img_10.png

根据字段进行更新 @GeneratorUpdateByThisField注解

img_4.png

根据字段进行删除 @GeneratorRemoveByThisField注解

img_5.png

可以根据batch属性来控制是否根据该字段批量删除

源码地址(直接下载并mvn install或者deploy到私库即可使用)

gitee:https://gitee.com/cyys420/infrastructure-code-generator

github:https://github.com/cy420426/infrastructure-code-generator

  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮特猫.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值