跟我学微服务统一开发平台-代码生成器

前面章节讲了技术选型,其实其技术选型这东西万变不离其宗,用的多越多,踩坑的机会越小,而且即使掉坑里了,前面很多人估计也遇到这个坑,其实就很容易爬出来。经过这几年微服务的全面普及,这一套技术栈已经火遍整个开发圈,一个新项目,如果不用前后端分离,不用微服务,就体现不出来架构的高端,体现不出来系统的复杂,其实这是一个误区。
这里不讨论技术选型的合理性,微服务真正开发起来,还是有一定的技术门槛的,不是说会写个“Hello World”,能用rest输出一个接口,就叫学会了,微服务更注重的是团队协作,各个组件各司其职,开发规范的设立就非常有必要,如果一个大的开发团队,没有开发规范,那微服务开发起来简直不可想象。好多项目组在开发之初都订立了规范,只不过都是以word方式的发布的,然后简单宣讲一下,大家开发都要照着规范来做,然后就没然后了,代码审查这个也多数是不了了之,在项目进度的巨大压力之下,完成功能及测试是第一位的,代码规范、优雅、可扩展这些都抛诸脑后了。现状使然,没有办法,笔者也写了好多版本的开发规范,只不过看的人少,记住的人更少,能照着做的微乎其微,当时为什么那么写规范,过一段时间后可能就忘了。

开发规范是软约束,怎样才能强约束呢?

所以就有了代码生成器这个的由来。一方面是简化开发人员的工作量,目前接触的这些系统、项目开发,其中有很大一部分精力要花费在CRUD这些基础的代码编写上来,而且还不一定做的完善,做完之后还需要测试人员反复测试。

  • 代码生成器可以解放基础开发工作,更多的精力投入到更有价值的业务逻辑设计中去。
  • 代码生成器可以以强约束的方式实现开发规范,后续的逻辑增补就不会影响框架式的规范了。
跟我学微服务统一开发平台-代码生成器_第1张图片
生成器截图.png

先秀一下截图,其实很low,就几个简单的配置界面。
先说一下代码生成器的新特性,毕竟是一个拿的出的版本。
1、一键生成Java代码,包括model、VO、DTO、Dao、Service、Controller
2、一键生成数据库建表脚本,适配Oracle、Mysql两种数据库
3、一键生成Vue前端脚本,包括index、表单、接口调用、路由代码等
4、反向抽取数据库结构,并一键生成代码
5、自定义配置查询字段
6、自动生成Swagger接口描述
7、自动生成表单格式校验及接口格式校验
8、自定义表单每行展示字段数
9、自定义表单维护类型,可路由跳转,可弹出窗口

基于上述特性,演示一下配置流程。

1、配置代码文件路径及选择数据库类型

跟我学微服务统一开发平台-代码生成器_第2张图片
全局配置界面.png

这里面一共六个参数:

  • 用户姓名:两个作用,一个是代码注释的作者,另一方便可以多用户共同使用该代码生成器,不至于混淆用户。
  • java api文件路径:存放java的controller文件;
  • java-biz文件路径:存放service、dao、model这些文件;
  • vue文件路径:存放vue的所有代码文件;
  • 模板文件路径:存放所有代码模板的路径;
  • 数据库类型:可以选择mysql或oracle。

2、配置数据表

跟我学微服务统一开发平台-代码生成器_第3张图片
数据表设计.png

这里假设配置一个企业基本信息管理,有6个字段,接下来要做这6个字段的增删改查操作。

首先进行数据表的配置:


跟我学微服务统一开发平台-代码生成器_第4张图片
数据表配置.png

解释一下基本配置信息:

  • 数据表名:数据表的名称,对应数据库表名
  • 描述:概要介绍一下这个数据表;
  • java 包名:就是model、dao这些类最外层的包名;
  • apiUrl全局配置:这个是vue用到的,用于配置各个api接口的通用前缀;
  • 是否分页:页面列表是否以分页方式展示
  • 是否新增:是否需要新增功能
  • 是否修改:是否需要修改功能
  • 是否删除:是否需要删除功能
  • 是否查询:是否需要查看功能
  • 一级模块代码:这里的一级模块是指这些功能的大类,比如ent
  • 一级模块名称: 比如企业管理
  • 二级模块代码:这里的二级模块是指具体的功能了,比如info
  • 二级模块名称:比如基本信息
  • 主键生成方式:这里包括两种,自增和人工设值
  • 主键字段:主键对应的数据库字段,这个要和字段列表的字段名一致
  • 排序字段:列表展示时需要的排序字段。

3、配置字段

先截图看下配置结果


跟我学微服务统一开发平台-代码生成器_第5张图片
字段配置.png

解释一下各个字段含义:


跟我学微服务统一开发平台-代码生成器_第6张图片
字段含义.png
  • 字段代码:对应数据表的字段名称,建议都小写
  • 字段描述:对应数据表的comments
  • 字段类型:该字段的数据类型,目前提供了字符、整数、小数、日期等选项
  • 是否可以为空:用于校验api接口及页面录入规则
  • 长度:指数据库字段的长度
  • 小数位数:如果为小数,指字段的小数位数
  • 输入长度:这个用于校验是否是汉字,如果是Oracle数据库,varchar(20)只能输入10个汉字
  • 是否列表字段:列表展示是否需要展示该字段
  • 是否查询字段:查询条件是否包含该字段
  • 列表宽度:列表展示时字段的宽度
  • 对齐方式:列表展示时对应方式

这里面还提供了反向提取字段的功能,如果数据表提前建好了,可以点击“加载数据表字段”按钮,从数据库中把字段都提取出来,然后简单配置一下即可:


跟我学微服务统一开发平台-代码生成器_第7张图片
加载字段.png

4、代码生成

4.1model代码

跟我学微服务统一开发平台-代码生成器_第8张图片
model代码.png

4.2文件创建

点击创建按钮,则可以自动生成对应的java文件


跟我学微服务统一开发平台-代码生成器_第9张图片
生成代码.png

4.3重复文件提示

如果该文件已经生成,则会提示是否覆盖


跟我学微服务统一开发平台-代码生成器_第10张图片
提示覆盖.png

4.3 一键生成所有java代码

点击“全部生成”按钮,可以生成所有的java代码


跟我学微服务统一开发平台-代码生成器_第11张图片
image.png

4.4生成sql建表脚本

跟我学微服务统一开发平台-代码生成器_第12张图片
sql建表脚本.png

在数据库执行该脚本,即可建表


跟我学微服务统一开发平台-代码生成器_第13张图片
建表.png

4.5生成vue的index文件

跟我学微服务统一开发平台-代码生成器_第14张图片
vue.png

4.6生成路由代码

跟我学微服务统一开发平台-代码生成器_第15张图片
修改路由文件.png

5见证奇迹的时刻

目前没有写一行代码,仅仅配置了一些参数。
系统编译一下,vue也会自动加载

跟我学微服务统一开发平台-代码生成器_第16张图片
首页面.png

目前页面是空数据的,没有内容,可以新增一条记录试试:


跟我学微服务统一开发平台-代码生成器_第17张图片
修改数据.png
跟我学微服务统一开发平台-代码生成器_第18张图片
新增一条数据.png

6总结

增删改查功能均具备,能减轻日常开发人员很大的体力劳动。为什么说体力劳动呢,因为这些代码均是不用思考,只要细心就能写对的代码,只不过是一个重复性的工作而已。
当然有了这个东西,后续还需不需要练基本功呢?
编程的基本功当然需要,尤其是快速调错,快速定位问题的能力,基本功越扎实,越能体现编码能力的深度,越能在复杂情况下游刃有余。如果你是一个新手,新入门的小白,建议还是从零开始做起,从基本的增删改查做起,掌握每个技术细节。

希望大家有个好心情,每天看到大量的重复工作时,心里偷偷在乐,给我安排一周的工作,我一天就干完了,剩下的时间划水好呢,还是摸鱼好呢?!

代码浏览

  • java部分:https://gitee.com/chykong/rcdp.git
  • vue部分:https://gitee.com/chykong/rcdp-web.git

你可能感兴趣的:(跟我学微服务统一开发平台-代码生成器)