前面章节讲了技术选型,其实其技术选型这东西万变不离其宗,用的多越多,踩坑的机会越小,而且即使掉坑里了,前面很多人估计也遇到这个坑,其实就很容易爬出来。经过这几年微服务的全面普及,这一套技术栈已经火遍整个开发圈,一个新项目,如果不用前后端分离,不用微服务,就体现不出来架构的高端,体现不出来系统的复杂,其实这是一个误区。
这里不讨论技术选型的合理性,微服务真正开发起来,还是有一定的技术门槛的,不是说会写个“Hello World”,能用rest输出一个接口,就叫学会了,微服务更注重的是团队协作,各个组件各司其职,开发规范的设立就非常有必要,如果一个大的开发团队,没有开发规范,那微服务开发起来简直不可想象。好多项目组在开发之初都订立了规范,只不过都是以word方式的发布的,然后简单宣讲一下,大家开发都要照着规范来做,然后就没然后了,代码审查这个也多数是不了了之,在项目进度的巨大压力之下,完成功能及测试是第一位的,代码规范、优雅、可扩展这些都抛诸脑后了。现状使然,没有办法,笔者也写了好多版本的开发规范,只不过看的人少,记住的人更少,能照着做的微乎其微,当时为什么那么写规范,过一段时间后可能就忘了。
开发规范是软约束,怎样才能强约束呢?
所以就有了代码生成器这个的由来。一方面是简化开发人员的工作量,目前接触的这些系统、项目开发,其中有很大一部分精力要花费在CRUD这些基础的代码编写上来,而且还不一定做的完善,做完之后还需要测试人员反复测试。
代码生成器可以解放基础开发工作,更多的精力投入到更有价值的业务逻辑设计中去。
代码生成器可以以强约束的方式实现开发规范,后续的逻辑增补就不会影响框架式的规范了。
生成器截图.png
先秀一下截图,其实很low,就几个简单的配置界面。
先说一下代码生成器的新特性,毕竟是一个拿的出的版本。
1、一键生成Java代码,包括model、VO、DTO、Dao、Service、Controller
2、一键生成数据库建表脚本,适配Oracle、Mysql两种数据库
3、一键生成Vue前端脚本,包括index、表单、接口调用、路由代码等
4、反向抽取数据库结构,并一键生成代码
5、自定义配置查询字段
6、自动生成Swagger接口描述
7、自动生成表单格式校验及接口格式校验
8、自定义表单每行展示字段数
9、自定义表单维护类型,可路由跳转,可弹出窗口
基于上述特性,演示一下配置流程。
1、配置代码文件路径及选择数据库类型
全局配置界面.png
这里面一共六个参数:
用户姓名:两个作用,一个是代码注释的作者,另一方便可以多用户共同使用该代码生成器,不至于混淆用户。
java api文件路径:存放java的controller文件;
java-biz文件路径:存放service、dao、model这些文件;
vue文件路径:存放vue的所有代码文件;
模板文件路径:存放所有代码模板的路径;
数据库类型:可以选择mysql或oracle。
2、配置数据表
数据表设计.png
这里假设配置一个企业基本信息管理,有6个字段,接下来要做这6个字段的增删改查操作。
首先进行数据表的配置:
数据表配置.png
解释一下基本配置信息:
数据表名:数据表的名称,对应数据库表名
描述:概要介绍一下这个数据表;
java 包名:就是model、dao这些类最外层的包名;
apiUrl全局配置:这个是vue用到的,用于配置各个api接口的通用前缀;
是否分页:页面列表是否以分页方式展示
是否新增:是否需要新增功能
是否修改:是否需要修改功能
是否删除:是否需要删除功能
是否查询:是否需要查看功能
一级模块代码:这里的一级模块是指这些功能的大类,比如ent
一级模块名称: 比如企业管理
二级模块代码:这里的二级模块是指具体的功能了,比如info
二级模块名称:比如基本信息
主键生成方式:这里包括两种,自增和人工设值
主键字段:主键对应的数据库字段,这个要和字段列表的字段名一致
排序字段:列表展示时需要的排序字段。
3、配置字段
先截图看下配置结果
字段配置.png
解释一下各个字段含义:
字段含义.png
字段代码:对应数据表的字段名称,建议都小写
字段描述:对应数据表的comments
字段类型:该字段的数据类型,目前提供了字符、整数、小数、日期等选项
是否可以为空:用于校验api接口及页面录入规则
长度:指数据库字段的长度
小数位数:如果为小数,指字段的小数位数
输入长度:这个用于校验是否是汉字,如果是Oracle数据库,varchar(20)只能输入10个汉字
是否列表字段:列表展示是否需要展示该字段
是否查询字段:查询条件是否包含该字段
列表宽度:列表展示时字段的宽度
对齐方式:列表展示时对应方式
这里面还提供了反向提取字段的功能,如果数据表提前建好了,可以点击“加载数据表字段”按钮,从数据库中把字段都提取出来,然后简单配置一下即可:
加载字段.png
4、代码生成
4.1model代码
model代码.png
4.2文件创建
点击创建按钮,则可以自动生成对应的java文件
生成代码.png
4.3重复文件提示
如果该文件已经生成,则会提示是否覆盖
提示覆盖.png
4.3 一键生成所有java代码
点击“全部生成”按钮,可以生成所有的java代码
image.png
4.4生成sql建表脚本
sql建表脚本.png
在数据库执行该脚本,即可建表
建表.png
4.5生成vue的index文件
vue.png
4.6生成路由代码
修改路由文件.png
5见证奇迹的时刻
目前没有写一行代码,仅仅配置了一些参数。
系统编译一下,vue也会自动加载
首页面.png
目前页面是空数据的,没有内容,可以新增一条记录试试:
修改数据.png
新增一条数据.png
6总结
增删改查功能均具备,能减轻日常开发人员很大的体力劳动。为什么说体力劳动呢,因为这些代码均是不用思考,只要细心就能写对的代码,只不过是一个重复性的工作而已。
当然有了这个东西,后续还需不需要练基本功呢?
编程的基本功当然需要,尤其是快速调错,快速定位问题的能力,基本功越扎实,越能体现编码能力的深度,越能在复杂情况下游刃有余。如果你是一个新手,新入门的小白,建议还是从零开始做起,从基本的增删改查做起,掌握每个技术细节。
希望大家有个好心情,每天看到大量的重复工作时,心里偷偷在乐,给我安排一周的工作,我一天就干完了,剩下的时间划水好呢,还是摸鱼好呢?!
代码浏览