反复开发,特推出本系列文章,分享我在“表格类”项目快速发展。希望大家可以讨论分享你们遇到的各种奇葩需求,让我们一起摆脱“形式-形式”!复杂表格窗体弹窗出自soeasy系列——使用代码生成器生成简洁易读的代码(第一章)注:为了演示方便,本章主要使用代码生成器直接生成前后端双端代码,需要自己搭建到最后,会需要简单的springboot等后端知识。如果前端推荐直接使用npm包filter-form-table-modal(点我查看),后面的文章会详细介绍这个npm包的具体使用细节。引入代码生成器准备阶段下载源码gitclonehttps://github.com/ailuhaosi/code-gen代码生成器源码分为两部分:code-gen-fontend:前端接口代码生成器;技术栈:vue-elementcode-gen-backend:代码生成器后端服务;技术栈:springboot修改code-gen-backend配置文件修改application.yml修改MySQL用户名、密码、连接数据库名(默认code-gen)修改generator.properties这里主要说tablePrefix,主要业务表的前缀,可以根据个人情况修改,默认以tb_开头。创建业务主表在需要连接的数据库中创建业务主表注意:每个表必须有一列为主键;表格注释会自动成为代码生成的标签。CREATETABLEtb_region(regionIdINTNOTNULLAUTO_INCREMENTPRIMARYKEYCOMMENT'Regionid',regionTitleVARCHAR(40)NOTNULLCOMMENT'Regiontitle',regionContactVARCHAR(10)DEFAULT''COMMENT'联系人',regionMobileCHAR(11)COMMENT'ContactNumber',regionLogoVARCHAR(300)COMMENT'RegionIcon',regionRemarkVARCHAR(100)DEFAULT''COMMENT'Remark',regionProvinceCHAR(10)DEFAULT'',regionCityCHAR(10)DEFAULT'',regionDiistictCHAR(10)DEFAULT'',regionAddressCHAR(50)DEFAULT'',regionLongitudeTINYINTUNSIGNED,regionLatitudeTINYINTUNSIGNED,regionCreatorCHAR(50),regionCreatetimeTIMESTAMP默认CURRENT_TIMESTAMP,regionUpdatetimeTIMESTAMP默认CURRENT_TIMESTAMP,regionStatusTINYINTUNSIGNED默认0,regionMiniprogramVARCHAR(100),creatorNameVARCHAR(50))ENGINE=InnoDBDEFAULTCHARSET=utf8;启动项目runcode-gen-backendopenhttp://localhost/web/index.html代码生成器的具体步骤如图所示。因为我之前建的表字段不规范,具体细节和规范请看勘误视频。只要自己在操作的时候合理的建表,是不会有问题的。视频勘误表(点我查看)将生成的代码合并到当前,为了保证灵活性,方便集成到不同前后端架构的原有项目中,现有项目必须手动合并;后续会增加新功能:提供架构模板,代码生成器会扫描原项目目录。如果原始项目和提供与架构模板相同的目录结构,代码可以自动合并。前端代码合并了原项目代码:https://github.com/ailuhaosi/my-blog-demo/tree/master/code-gen-demo-org/code-gen-fontend-demo-org合并后的代码:https://github.com/ailuhaosi/my-blog-demo/tree/master/code-gen-demo-1/code-gen-fontend-demo-1后端代码合并了原项目代码:https://github.com/ailuhaosi/my-blog-demo/tree/master/code-gen-demo-org/code-gen-backend-demo-org合并代码:https://github.com/ailuhaosi/my-blog-demo/tree/master/code-gen-demo-1/code-gen-backend-demo-1总结近年来,低代码不断被炒作,但往往被简化为,“专业程序员不不喜欢,非专业人士不喜欢。”会用到“尴尬的境地。但是随着前后端生态越来越成熟,我们使用的框架(vue、Springboot等)其实只是一种复杂的low-code。”这种“低代码的”也屏蔽了底层的细节,很多时候我们要做的只是BusinessCURD就够了,所以我们程序员不需要抵制低代码,但是“那些好的低代码”可以让我们更快的交付任务。低代码的发展方向,什么是好的低代码?我个人的经验总结了以下几点:开源代码和主流技术栈:意味着它具有可扩展性,生成的低代码可以是由专业程序员定制修改,并可轻松融入原项目,让专业人士不会排斥。得生态者得天下。清晰的业务场景:每一种低代码产品都应该针对特定的业务场景。业务流程比较清晰,例如:“搜索表单-表单-弹出表单”。而且通常低代码产品并不追求个性化的“好看(复杂联动-运动效果)”,因为“好看(复杂联动-运动效果)”会需要大量定制,而低代码的复用性优势这种情况下的代码无法显示。但是“静态好看”是可以通过自定义皮肤来实现的。前后端低代码化:目前主要提倡前后端分离,所以生成的源码应该包括前后端。否则,只用一端仍然不会减少工作量。好的!今天就分享到这里吧。看到这里的小伙伴,如果觉得文章对你有帮助,别忘了点赞和评论哦!
