黑神话:仙童,数据库自动反射魔法棒

黑神话:仙童,数据库自动反射魔法棒

Golang 通用代码生成器仙童发布了最新版本电音仙女尝鲜版十一及其介绍视频,视频请见:https://www.bilibili.com/video/BV1ET4wecEBk/

此视频介绍了使用最新版的仙童代码生成器,将 MariaDB 数据库迁徙至 PostgreSQL,或者将数据库整理成一个 Excel 文件的方法,详细情况请见视频。

 通用代码生成器是一种非常方便的软件开发工具,除了简单直接的生成代码,制作快速原型以外。通用代码生成器还可以应用在各种场景上。比如可以使用通用代码生成器,将 MariaDB 数据库连数据迁徙到 PostgreSQL。操作并不复杂,却十分适用。

视频中,我们采用最新发布的 golang 通用代码生成器仙童 2.4.0 电音仙女尝鲜版十一来完成这项功能,在完成数据库迁徙的同时,我们得到了一个副产品,即 Golang 的应用程序。

本例子使用的数据库是 TKCourseManagement 和 CivMariaSample 数据库,此前已经在多个视频演示中使用,大家应该比较熟悉了。

golang 通用代码生成器仙童的项目地址为:https://gitee.com/jerryshensjf/Fairchild

其二进制发布包下载地址为:https://gitee.com/jerryshensjf/Fairchild/attach_files

Go 语言通用代码生成器:仙童

项目简介

Go 语言通用代码生成器:仙童,基于 Java 通用代码生成器:光的架构。

生成的代码基于 go 语言,使用 gin 作为 web 框架。目前支持 MariaDB,MySQL,PostgreSQL 和 Oracle 四种数据库。支持生成 Vue 和 ElementUI 的基于 Node.js 的独立前端。支持 Excel,PDF 两种数据导出格式。

项目图片

Image description

最新大版本号

正在研发的最新大版本号是仙童 2.4.0 电音仙女 TechnoFairy 短名 TF。对标 java 通用代码生成器光 2.4.0 电音之王和 Rust 通用代码生成器红莲。

Golang 通用代码生成器仙童,2.4.0 电音仙女尝鲜版十一。版本彻底增强修复了数据库自动反射功能。并有更多测试修复。

Golang 通用代码生成器仙童,2.4.0 电音仙女尝鲜版十。版本增强修复了数据库自动反射功能,修复了多对多数据加载。增强了复数字典,新加了 SGS2 模板。

Golang 通用代码生成器仙童 2.4.0 电音仙女尝鲜版九。此版本支持完善的数据库自动发射功能。大大完善了数据与元数据编辑器功能,是一个重要的版本更新。

Golang 通用代码生成器仙童,电音仙女尝鲜版八,此版本增强修复了数据库自动反射功能。更新修复了前端代码生成器无登录模块时的错误。修复了多对多候选的缺陷。修复了清洗登录数据功能。

Golang 通用代码生成器仙童,电音仙女尝鲜版七,此版本测试修复了 PostgreSQL 数据库自动反射功能。此版本更新修复了前端代码生成器,并修复了前端多对多界面的缺陷。

Golang 通用代码生成器仙童,电音仙女尝鲜版六,此版本新增了数据库自动反射功能,可以为遗留数据库配上操作软件。此版本增强了模板向导界面的编辑器功能,可以不清空数据的情况下编辑项目的元数据和数据。可以切换域对象和枚举,可以清洗登录数据。此版本新增了多对多候选功能,支持多对多候选的编辑,持久化和反射功能。此版本彻底修复了枚举和哑数据功能。并有前端界面更新。

输入图片说明

百度话题

#通用代码生成器#

重点组件和功能

  • 动词算子
  • 域对象
  • 棱柱
  • 项目
  • 时空之门前端代码生成器引擎
  • 弹性登录模块
  • Grid 页生成模块
  • 多对多生成模块
  • 数据库脚本生成模块
  • 动态椰子树功能群
  • 动词否定功能群
  • 字段否定功能群
  • 高级定制功能群
  • 部分生成功能群
  • 自动生成差异版本功能群
  • 上传生成界面
  • 模板向导生成界面
  • 自动生成差异版本生成界面
  • Excel 数据导出功能
  • PDF 数据导出功能
  • 数据库后端模式
  • 数据库工具模式
  • 哑数据模式
  • 数据库自动反射功能

开发测试环境

  • jdk 21
  • Apache Tomcat 9
  • Node.js 21, 18, 14
  • golang 1.22
  • MariaDB 15.1
  • MySQL 8
  • PostgreSQL 16
  • Oracle 11

安装教程

  • 先装好 open jdk 21 和 Apache Tomcat 9,如果您从源码编译代码生成器还需要事先装好 Apache Maven
  • 下载编译好的 Golang 通用代码生成器仙童的 war 包,或者下载源码,解压后使用 mvn install 命令编译,得到代码生成器的 war 包
  • 把代码生成器的 war 包的名字改短,成为 Fairchild.war,并放置在 Apache Tomcat 9 的 webapps 目录下
  • 启动 Apache Tomcat 9
  • 访问 http://localhost:8080/Fairchild/
  • 即可使用代码生成器

后端代码生成物运行

  • 使用代码生成器生成一个示例或自己的 SGS2 模板,得到两个代码生成物,一个前端,一个后端
  • 将后端项目下载并解压
  • 根据您的数据库选项,配置好您后端的数据库,并使用后端代码生成物的 sql 文件夹下的数据库脚本完成建库建表并加载初始化数据
  • 您需要检查后端代码生成物内的配置文件,确认数据库和用户名密码的正确性
  • 您需要安装配置好 Golang 1.20 或其他兼容版本的 Golang 环境
  • 在后端代码生成物的根目录下运行 go mod tidy
  • 在后端代码生成物的根目录下运行 go mod download
  • 在后端代码生成物的根目录下运行 go mod vendor
  • 在后端代码生成物的根目录下运行 go run Server.go
  • 启动完毕后访问后端代码生成物,http://localhost:8081

前端代码生成物运行

  • 使用代码生成器生成一个示例或自己的 SGS2 模板,得到两个代码生成物,一个前端,一个后端
  • 将前端代码生成物解压
  • 确认您已经安装好和您选择的 Nodejs 版本相容的前端 Nodejs 环境
  • 使用 npm install -registry=https://registry.npm.taobao.org 安装 Nodejs 依赖包
  • 如果您使用的是 Nodejs 21 和 Nodejs18,请运行命令:export NODE_OPTIONS=--openssl-legacy-provider
  • 运行命令:node --max-http-header-size=1000000 ./node_modules/.bin/webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
  • 如此访问前端代码生成物,http://localhost:8000/

百度话题

#通用代码生成器#

代码生成器截图

代码生成器正在研发中,2.4.0 尝鲜版十一已发布。

Image description

Image description

电音仙女尝鲜版十一下载

二进制发布包下载地址:

附件 · 火鸟/Go语言通用代码生成器:仙童 - Gitee.com

电音仙女最新视频

电音仙女尝鲜版十一介绍视频请见: https://www.bilibili.com/video/BV1ET4wecEBk/

电音仙女尝鲜版九介绍视频请见: /BV1jKHgeKEjP/](https://www.bilibili.com/video/BV1jKHgeKEjP/)

电音仙女尝鲜版八

[https://www.bilibili.com/video/BV11maXeYE12/ https://www.bilibili.com/video

https://www.bilibili.com/video/BV1LJvve6Ed9/

电音仙女尝鲜版七 https://www.bilibili.com/video/BV1eT421a7j5/

电音仙女尝鲜版六 https://www.bilibili.com/video/BV1Sr421c7zY/

仙童的安装运行

仙童是使用 Java 语言写成的代码生成器。运行仙童您需要装好 Java8 和安装好 Tomcat9 或 8.5 应用服务器。并把仙童的 war 包部署在 Tomcat 的 webapps 目录下。

代码生成物的运行还需要安装好 Go 语言开发环境,您要使用 go mod 管理依赖,并把代码生成物解压在 go 语言工作空间的 src 文件夹的一级子目录下。还需要对应的数据库服务器运行代码生成物的建库 sql 脚本。

前端代码生成物的运行需要装好 node.js 运行环境并安装 js 依赖库。

Vue 独立前端截图

输入图片说明

输入图片说明

输入图片说明

输入图片说明

代码生成物截图

Image description

Image description

源码编译用户指南

通用代码生成器已经支持自己编译源码,我已把原来缺的前端代码生成器的 jar 包上传。支持大家自行编译源码。

需要注意的是,现在我的开发平台是 Fedora 37 上的 openjdk 17。所以大家编译源码最好使用 openjdk17。编译好的 war 包运行在 apache tomcat 9.0 上。

已有 jdk8 的用户报告默认下载的代码生成器 war 包在他的平台上无法运行。您如果遇到类似问题请报告。我的电子邮件是:jerry_shen_sjf@qq.com

附 openjdk 17 下载地址:

https://jdk.java.net/java-se-ri/17

使用前端功能的注意事项

由于图片文件比较大,原来前端使用 cnpm instll 安装类型,npm run dev 运行有所改动,改为先使用 npm install --registry=https://registry.npm.taobao.org 安装类库,出错后使用 cnpm install 安装类库, 使用 node --max-http-header-size=1000000 ./node_modules/.bin/webpack-dev-server --inline --progress --config build/webpack.dev.conf.js  运行系统。

您也可以从安装好的本系列代码生成器的前端项目中拷贝 node_modules 目录,即可运行前端。

node-sass 不兼容的解决办法

办法一:

npm uninstall node-sass
npm install sass-loader
npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

办法二:

npm uninstall sass-loader node-sass //卸载
npm install sass-loader@7.3.1 node-sass@4.14.1 --save-dev //安装对应的版本

动词算子式代码生成器的应用场景

1. 项目前期

通用代码生成器是一种自动化编程软件,是一种先进的编译系统。它具有表级抽象。把系统抽象为域对象,枚举,弹性登录模块,复杂版面和图形报表。使用通用代码生成器完成项目前期,比直接使用对应的高级语言快的多,也方便的多。

在常规的项目开发阶段,可以分为前期,中期和后期。前期完成设计,数据库设计,项目初始化,数据库初始化和 CRUD 等常用功能的开发。

中期是各种业务功能的开发。

业务功能开发完成后,项目即进入后期。后期主要是测试,修错。完成项目 Change Request 和基线化,代码冻结。构建软件发布包,给客户安装,用户培训等等。

当客户签章认可软件交付物,软件的开发阶段就结束了,进入了软件的售后服务阶段。

通用代码生成器对软件开发而言,在项目前期的价值最大。它可以把月余的项目前期压缩到短短数日。从而为您的设计和开发增加数周的时间。用于设计,您可以更加详细。用于开发,大大缓解开发时间的紧张。而且,由于通用代码生成器的高生产率,您可以采用多轮设计,采用迭代式的项目设计循环,使设计阶段结束时,系统更全面更一致,同时仍然可以节约数周的时间帮助开发阶段。

通用代码生成器为项目全周期迭代式的使用通用代码生成器做了优化。它可以精确的控制代码生成物。可以按水平层级或者按竖直功能选择性的输出代码生成物,并可以同时使用水平和竖直的控制功能。最强大的是,您可以上传同一个项目的不同时期的 SGS2 模板,系统会对比两个版本,自动生成两个版本的差异部分,而一致的,它不输出。利用这个功能,您可以定向,只修改更改的部分,结合归并工具的功能,可以成数量级的提高劳动生产率。

2. 快速原型

对项目经理,产品经理和售前工程师而言,开发快速原型是一种常见的需求。使用通用代码生成器,您可以更好,更快的开发系统的快速原型。通用代码生成器对完成 CRUD 和登录系统阶段的快速原型比手工编程快的多,典型情况,您可以使用一天时间完成如此规格的快速原型,而直接编程,您可能至少需要两周时间才可以达到同样的完成度。故使用通用代码生成器,您可以更快的完成快速原型,您也有更多的时间,使您的原型达到更高的完成度。

并且,通用代码生成器有专门为快速原型设计的哑数据模式。此模式不使用数据库,而是使用硬编码的哑数据作为数据来源,它方便您给不同的客户多次演示,不需要担心数据遗留问题。只需要重新启动,数据即回归到原始数据,没有搞错演示数据的烦恼。而且,您可以和您的客户共享此快速原型。客户可以深入研究此快速原型,但无法直接使用此快速原型,因为此快速原型没有数据持久化功能。对双方都很方便。

3. 遗留项目反向工程

如果您有一个遗留项目,要重新开发,或者源代码遗失,或者需要重新开发,但是希望复用原来的数据,并加快开发。

如果您的项目是通用代码生成器生成的,如果您保留了它的 SGS 源文件或 SGS2 的 Excel 模板,您可以使用这些资源重新生成。

但是大多数遗留项目都没有这些资源,或者本来就不是通用代码生成器生成的。这种情况下,您只需要有系统的数据库,并且,这个数据库是 MariaDB,MySQL 或者 PostgreSQL 的。您就可以使用 Rust 通用代码生成器莲花的数据库自动反射功能来反向工程这种遗留项目。借助这个功能,您可以把一个数据库反射为一个莲花的 Project。并可以进一步将数据库反射为一个 Rust 语言项目或者一个莲花的 SGS2 模板。

借助 Java 通用代码生成器光和 Golang 通用代码生成器仙童的 Rust 语言兼容性。您可以把这个莲花的 SGS2 模板生成为 Java 语言项目或 Golang 语言项目。

这个数据库自动反射功能可以保留原系统的数据,您不需要重新开始。

4. 跨编程语言翻译

如果您有一个 Java 工程,想把它移植到 Rust 或 Golang 语言中去,希望尽可能加快研发速度。

如果您的系统是通用代码生成器开发的,保留了系统的 SGS 源文件或者 SGS2 的 Excel 模板,您可以使用这些源文件或模板结合您的目标语言生成新语言的代码生成物,以加速新语言的应用程序的开发。

如果您没有保留此源文件或模板,或者您的应用系统是手工搭建的或使用了其他来源。您可以使用数据库自动反射功能达到需求。如果您使用的是 MariaDB,MySQL 或者 PostgreSQL。您可以使用 Rust 通用代码生成器莲花新版本的数据库自动反射功能,将数据库反射成 Rust 应用程序,您也可以将数据库反射为一个 SGS2 的 Excel 模板。而后通过 Java 通用代码生成器光或 Golang 通用代码生成器的 Rust 语言兼容性功能,将此 SGS2 模板编译成 Java 或 Golang 的应用程序,在此过程中,您可以保留数据库中的所有数据,不必从零开始。

5. 任意需求应用急就章

在中国文化中,如果您在任何的政府,商业或者私人事务上需要表明身份。您需要一枚自己的私章。如果在必须的场合,您没有此私章。如果您知道如何刻写图章,可以临时使用普通的石料甚至萝卜,肥皂等等,刻写一个临时性的图章使用,这就是所谓的急就章。

通用代码生成器也有类似功能。如果您有一个业务或者需求,但是您没有现成的电子商务系统,您往往是使用 Excel 表格或者 Acess 数据库来完成这些功能的簿记和管理工作。但这种方法有明显缺陷,首先,如果随着业务的流转,多人手头有不同的 Excel 表单,如果数据不一致,您很难找出正确的答案,而且,没有统一的密码和登录系统,容易泄密和忘记密码。

有了通用代码生成器,可以完美的解决这一问题。您可以利用和写一个 Excel 表单同等的时间写一个 SGS2 的 Excel 模板,利用代码生成器生成一个系统临时凑和着用,几乎是零成本的。您可以轻易的拥有数据库管理系统的全部优势,就是特定功能少一些而已,而数据库的簿记功能可以完美的使数据一致性问题,多人同步工作问题完美解决。同时,您零成本的拥有了一个完善的系统的密码和登录系统,每个人可以维护自己的密码,而系统管理员也可以有效的管理,支持和急救。

所以,通用代码生成器的代码生成物是可以直接使用的,它有完善的通用功能,就是没有定制功能而已,对于任何需求,这种代码生成物都远远优于 Excel 表格,而成本是一样的。通用代码生成器的代码生物可以完成完善的电子商务系统 70% 的功能。这就是通用代码生成器的急就章功能。

6. 为完善的应用系统收集需求

使用急就章功能可以开发一个简单的应用先凑和着使用。此应用系统也可以成为完善的应用系统的原型和祖先。如果您新规划一个完善的应用系统,您可以先使用通用代码生成器生成一个临时使用的系统,并在实际的使用中收集需求和现用系统的不足,然后您可以使用手工编程完善此系统,得到一个完善的应用系统。

使用数据库自动反射功能,您可以把原型系统内的您需要的数据迁徙到新的完善的应用系统,

源码研读者注意事项

无垠式代码生成器第一个完整版本源码,有兴趣可以抄写一下:

无垠式代码生成器第一个完整版本0.6.5: 现在动词算子式代码生成器已经公布了无垠式的最后版本0.8.5。和平之翼代码生成器已进化到4.1版本。 谁有兴趣研究早期的动词算子式代码生成器。 我有所有的版本。其中无垠式代码生成器0.6.5是早期的完整版本,但是只有simplejee一个技术栈。对原理学习,可能是最佳的。此版本为原理学习,自己动手的参考。我会回答关于原理的问题,不会修正此版本的Bug(其实在后续版本中已经解决。)

相关技术视频:

https://www.bilibili.com/video/BV1eT421a7j5/

https://www.bilibili.com/video/BV1Sr421c7zY/

https://www.bilibili.com/video/BV1fX4y1u7Bn/

https://www.bilibili.com/video/BV1rv41187qY/

https://www.bilibili.com/video/BV1xv41187cA/

https://www.bilibili.com/video/BV1t64y1v7WA/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/54681.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++-容器适配器- stack、queue、priority_queue和仿函数

目录 1.什么是适配器 2.deque 1.简单了解结构 2.deque的缺陷 3.为什么选择deque作为stack和queue的底层默认容器 3.stack(栈) 4.queue(队列) 5.仿函数 6.priority_queue(优先级队列)(堆…

Linux C接口编程入门之文件I/O

一切皆文件 "Linux一切皆文件"是Linux操作系统中的一个重要理念和设计原则。在Linux系统中,几乎所有的设备、资源都以文件的形式进行访问和操作。简化了操作系统的设计和管理,提供了一种统一的抽象模型,使得应用程序可以使用相同的…

docker简述

1.安装dockers,配置docker软件仓库 安装,可能需要开代理,这里我提前使用了下好的包安装 启动docker systemctl enable --now docker查看是否安装成功 2.简单命令 拉取镜像,也可以提前下载使用以下命令上传 docker load -i imag…

【gRPC】1—gRPC是什么

gRPC是什么 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 📖RPC专栏:https://b…

脉冲下跳沿提取电路

本例中的电路可将负脉冲转换为正脉冲。尽管这个任务看似简单,但负脉冲的幅度为-5V~-2V。按照不同应用要求,正脉冲也需要不同的脉冲宽度,而负脉冲是梯形的。脉冲必须先经过一个长距离的传输线才能到达某个控制设备。有多个电路可以解决这一问题…

jQuery——解决快速点击翻页的bug

本文分享到此结束,欢迎大家评论区相互讨论学习,下一篇继续分享jQuery中内置动画的学习。

谷歌AI大模型Gemini API快速入门及LangChain调用视频教程

1. 谷歌Gemini API KEY获取及AI Studio使用 要使用谷歌Gemini API,首先需要获取API密钥。以下是获取API密钥的步骤: 访问Google AI Studio: 打开浏览器,访问Google AI Studio。使用Google账号登录,若没有账号&#xf…

大数据ETL数据提取转换和加载处理

什么是 ETL? 提取转换加载(英语:Extract, transform, load,简称ETL),用来描述将资料从来源端经过抽取、转置、加载至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。 ETL&…

C++竞赛初阶—— 石头剪子布

题目内容 石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比…

Spring Cloud Netflix Zuul 网关详解及案例示范

1. 引言 在微服务架构中,API 网关作为服务间通信的入口,扮演着重要的角色。Netflix Zuul 是一个提供动态路由、监控、安全等功能的 API 网关服务器,它可以为微服务系统提供统一的入口,简化服务间的交互。在业务系统中&#xff0c…

【计网】【计网】从零开始学习http协议 ---理解http重定向和请求方法

去光荣地受伤, 去勇敢地痊愈自己。 --- 简嫃 《水问》--- 从零开始学习http协议 1 知识回顾2 认识网络重定向3 http请求方法3.1 http常见请求方法3.2 postman工具进行请求3.3 处理GET和POST参数 1 知识回顾 前面两篇文章中我们学习并实现了http协议下的请求与应…

Linux 命令 netstat 的 10 个基本用法

Netstat 简介 Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的 Web 服务有没有起来…

行为设计模式 -观察者模式- JAVA

观察者模式 一.简介二. 案例2.1 抽象主题(Subject)2.2 具体主题(Concrete Subject)2.3 抽象观察者(Observer)2.4 具体观察者(Concrete Observer)2.5 测试 三. 结论3.1 优缺点3.2 使用…

STM32外设详解——ADC

来源:铁头山羊 基本概念 ①ADC是模数转换器的统称,stm32f103c8t6内部集成了2个12位主次逼近型ADC,外设名称为ADC1、ADC2。 ② 采样深度为12位意味着ADC可以将0~3.3V的模拟电压等比转换为0~4095的数字值(分割为2的12次方份&…

网 络 安 全

网络安全是指保护网络系统及其所存储或传输的数据免遭未经授权访问、使用、揭露、破坏、修改或破坏的实践和技术措施。网络安全涉及多个方面,包括但不限于以下几个方面: 1. 数据保护:确保数据在传输和存储过程中的完整性和保密性,…

银河麒麟V10安装ToDesk远程控制

银河麒麟V10安装ToDesk远程控制 ARM版本安装 1.下载arm的deb包 wget https://dl.todesk.com/linux/todesk_4.0.3_aarch64.deb2.安装 sudo apt-get install ./todesk_4.0.3_aarch64.deb3.启动todesk todesk

文献翻译用什么软件?新手建议收藏这5个

在学术研究的广阔天地里,语言障碍往往是科研人员不得不跨越的一道难关。 面对海量的外文文献,如何高效、准确地获取其中的信息,成为了许多学者关注的焦点。 想知道文献翻译器推荐哪一个?今天这篇文章为大家推荐5个优秀的文献翻译…

如何制作低代码开发的视频教程?

如何制作低代码开发的视频教程? 随着数字化转型的加速,越来越多的企业和组织开始采用低代码开发平台来加速应用程序的构建。对于许多开发者和业务人员来说,学习如何使用这些平台可以显著提高工作效率。因此,创建一份清晰、实用且…

02_InFluxDb

InFluxDb 初始化初始化流程 交互InFluxDbWebUI交互 数据模型行协议添加标签数据格式 数据类型空格索引 Flux语言 初始化 初始化流程 用户 密码 组织名称 Bucket—mysql里面的数据库概念 交互InFluxDb 暂用了8086端口.提供了 http api WebUI交互 略... 数据模型 这是mys…

无源有损耗导电介质的平面电磁波——复数介电常数带来复波数k(导致幅度衰减)和复波阻抗(带来磁场电场相位不同)

推导中以εμσ是实数为假设 注意在线性介质中J 0和σ等于0其实是一个条件,因为J σE 线性介质的麦克斯韦方程 线性介质无源无损耗条件下 线性介质无源有损耗导电介质下 无源有损耗的复数麦克斯韦方程组,只有方程二与无源无损耗的麦克斯韦方程组不同…