「SpringCloud」代码生成器实现前后端代码自动生成鸿蒙开发者社区

理想的情况下,代码生成可以节省很多重复且没有技术含量的工作量,并且代码生成可以按照统一的代码规范和格式来生成代码,给日常的代码开发提供很大的帮助。但是,代码生成也有其局限性,当牵涉到复杂的业务逻辑时,简单的代码生成功能无法解决。

目前市面上的代码生成器层出不穷,大多数的原理是基于已有的代码逻辑模板,按照一定的规则来生成CRUD代码。至于更为复杂的代码生成大家都在人工智能领域探索,目前基于代码训练的人工智能代码生成还在于提供代码补全功能方面,比如智能编程助手aiXcoder提供了常用IDE插件,在项目开发过程中,可以基于你项目的代码进行训练,编程时提供合适的代码提示。由微软、OpenAI、GitHub三家联合打造的Copilot也有异曲同工之妙,都是在项目开发中,提供优秀的代码自动补全功能从而可以提升工作效率。希望在不远的将来,我们可以实现复杂业务逻辑的代码也通过人工智能对大量代码的训练和分析来实现吧。

这里我们制作的代码生成器,是按照平时开发过程中的思考来设计,一般情况下我们的开发步骤是:需求分析->数据建模->数据库设计->编写后台代码(增删改查)->编写前台代码(增删改查)->字段校验->业务逻辑完善->测试,所以我们希望代码生成器能够:

一、引入依赖的库

1、修改GitEgg-Platform项目中的gitegg-platform-bom工程的pom.xml文件,这里使用mybatis-plus-generator目前最新版本3.5.1来自定义我们需要的代码生成器。

pom.xml

......3.5.1............com.baomidoumybatis-plus-generator${mybatis.plus.generator.version}......2、在GitEgg-Platform项目中新建

gitegg-platform-code-generator工程,提供基本的自定义代码生成能力,以及定义一些常量。

GitEggCodeGeneratorConstant.java常量类

packagecom.gitegg.platform.code.generator.engine;importcom.baomidou.mybatisplus.generator.config.po.TableInfo;importcom.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;importjava.io.File;importjava.util.Map;/***Freemarker自定义输出自定义模板文件**@authorGitEgg*@since2021-10-12*/publicclassGitEggFreemarkerTemplateEngineextendsFreemarkerTemplateEngine{/***自定义输出自定义模板文件**@paramcustomFile自定义配置模板文件信息*@paramtableInfo表信息*@paramobjectMap渲染数据*@since3.5.1*/@OverrideprotectedvoidoutputCustomFile(MapcustomFile,TableInfotableInfo,MapobjectMap){MapcustomFilePath=(Map)objectMap.get("customFilePathMap");customFile.forEach((key,value)->{StringotherPath=customFilePath.get(key);StringfileName=String.format((otherPath+File.separator+"%s"),key);outputFile(newFile(fileName),objectMap,value);});}}二、业务及实现方法

代码生成作为系统的一个功能模块,也需要考虑业务、数据库设计,这里主要有这几个模块:

1、根据以上业务需求,设计了

t_sys_code_generator_datasource(数据源配置)、t_sys_code_generator_config(主数据表配置)、t_sys_code_generator_table_join(联表配置)、t_sys_code_generator_field(表字段配置)、t_sys_code_generator_validate(校验规则配置)、t_sys_code_generator_dict(数据字典配置)共六张表。

2、在GitEgg-Cloud项目下,gitegg-plugin子项目下新建gitegg-code-generator工程,新建IEngineService接口和接口实现类EngineServiceImpl用于实现:查询某个数据源的所有表、查询某个表的字段信息、查询某个代码生成配置里面所有的字段配置、执行代码生成功能。

THE END
1.5.6Mybatis代码生成器MybatisGenerator(MBG)实战详解那么在Mybatis里,这些当然也不在话下,Mybatis官方为我们提供了非常好用的代码生成器:Mybatis Generator (MBG) 。 本文就带大家实战一下Mybatis Generator,用它生成实战项目全部表的PO对象和基本增删改查代码! 一、Mybatis Generator简介 Mybatis Generator(MBG)是Mybatis官方提供的一个代码生成工具,它可以根据数据库https://blog.csdn.net/geejkse_seff/article/details/144298831
2.GitHub系统只生成后台代码,后台架构为MVC + Mybatis。 首先,系统集成mybatis-generator官方代码生成器,可以自动生成实体、mapper接口以及xml配置文件。 然后使用velocity模板引擎生成service接口和实现类以及controller。并重写了entity。 程序入口 前端页面存放在resource/static下,启动springboot后,访问localhost:8082/codegenerator/https://github.com/JaylenLiu/CodeGenerator
3.MyBatis代码自动生成器MybatisGenerator的使用详解java本文详细介绍如何在SpringBoot项目中使用MyBatis-Generator进行代码生成,包括配置文件的添加、POM依赖配置、运行配置等步骤,通过自动生成代码,可以简化MyBatis的繁琐配置和SQL编写,提高开发效率,注意要考虑MySQL版本兼容性,以及确保路径配置正确+ 目录 MyBatis代码生成器Mybatis-Generator的配置和使用 注:项目介绍 编译器:https://www.jb51.net/program/3289030y9.htm
4.java中间代码生成器java自动生成代码工具代码生成器作为一种开发工具,一般不直接作为程序的一部分,通常也不直接或间接(如通过AOP)被程序调用,他是通过编程的方式生成所需要的代码,然后将生成的代码作为源文件,复制到开发工具的代码区,然后进行编译。由于代码生成器是在编译之前运行的,因此它可以跨语言,你不但可以用代码生成器生成高级语言,也可以生成汇编语言https://www.xiuzhanwang.com/a1/JavaScript/17047.html
5.MyBatisPlus——代码自动生成器回想我们之前进行开发的过程,首先我们需要编写与数据库表对应的实体类,接着再进行创建各种层次的包(mapper,service,impl),这个过程是不是感觉特别漫长呢,而现在一款神器登场了,它就是:MpBatis-Plus的代码自动生成器。 一、介绍 代码自动生成器非常好用,我们只需要提供我们数据库的表名,然后就可以让生成器自动帮我们http://zhangshiyu.com/post/57395.html
6.codeMan:代码生成器源码,可一键生成controller,service,dao,实体自动运行方式 不习惯使用idea的朋友可以直接下载最新版生成器,分为mac和windows两个版本,windows下解压运行exe程序,mac下运行command程序即可! 生成后代码的运行方式 目前有两款主题可选:经典后台Thymleaf版 和 前后端分离响应式。 把生成的项目导入idea/eclipse,等待maven依赖引入完毕之后,根据生成之后的提示便可直接在https://toscode.mulanos.cn/zrxjava/codeMan
7.MyBatis代码生成器,也叫逆向工程,是根据数据库里的表结构,自动生成对应的实体类、映射文件和接口。 这和hibernate的自动建表恰好相反。 很早之前,写了一个代码生成器的工程,自己也一直在用,很方便,也经过大量验证,也支持很多数据库。 看到很多小伙伴在为数据库生成实体类发愁,现分享给大家,提高开发效率。 https://juejin.cn/post/6895737650578849799
8.13个免费的AI编程工具,智能自动编写和生成代码AI工具集CodeWhisperer是亚马逊 AWS 团队推出的 AI 编程软件,该代码生成器由机器学习技术驱动,可为开发人员实时提供代码建议。当用户编写代码时,CodeWhisperer 会根据现有的代码和注释自动生成建议,可供个人免费使用,生成无限次数的代码建议。 支持的编程语言 https://ai-bot.cn/best-ai-coding-assistant-tools/
9.jad:JAD旨在为程序员提供一个高效的自动化开发平台,它涉及互联网JAD不仅仅支持传统的单体项目架构,也支持分布式微服务架构,具有很强的扩展性与可移植性。业务开发方面,JAD提供高度可定制化的Eclipse插件作为可视化ide,开发人员可以跟据自已项目的特性定制适合自己项目的代码生成器,大大提高开业务开发效率。目前,JAD内置的代码生成器主要有:创建项目、生成CURD代码等等。 综上所述,JAD是https://gitee.com/457049726/jad/
10.ReSharperUltimate破解版代码生成器(VisualStudio增强工具)VReSharper Ultimate破解版是一款非常不错的代码生成器,他一款适用于 NET开发人员的 Visual Studio扩展,,可以帮助您在软件上设计代码,帮助开发者分析代码质量,消除错误代码问题,让开发者避免许多问题,全http://www.winwin7.com/soft/3270.html
11.JEECG官方网站基于BPM的低代码开发平台(低代码平台JeecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x/3.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot引领新低代码开发模式 OnlineCoding-> 代码生成器-> 手工MERGE, 帮助Java项目解决70%的重复工作,让开发更http://www.jeecg.com/
12.更简单更高效的代码生成器AutoGenerator今天的主角是MP推出的一款代码生成器,本文主要来介绍一下它强大的代码生成功能。 一、概述 AutoGenerator是MyBatis Plus推出的代码生成器,可以快速生成Entity、Mapper、Mapper XML、Service、Controller等各个模块的代码,比Mybatis Generator更强大,开发效率更高。 https://m.nowcoder.com/discuss/464018794730504192