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

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

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.rhkb.cn/news/440529.html

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

相关文章

论文阅读:InternVL v1.5| How Far Are We to GPT-4V? 通过开源模型缩小与商业多模式模型的差距

论文地址:https://arxiv.org/abs/2404.16821 Demo: https://internvl.opengvlab.com Model:https://huggingface.co/OpenGVLab/InternVL-Chat-V1-5 公开时间:2024年4月29日 InternVL1.5,是一个开源的多模态大型语言模…

mac配置python出现DataDirError: Valid PROJ data directory not found错误的解决

最近在利用python下载SWOT数据时出现以下的问题: import xarray as xr import s3fs import cartopy.crs as ccrs from matplotlib import pyplot as plt import earthaccess from earthaccess import Auth, DataCollections, DataGranules, Store import os os.env…

C语言初步介绍(初学者,大学生)【上】

1.C语⾔是什么? ⼈和⼈交流使⽤的是⾃然语⾔,如:汉语、英语、⽇语 那⼈和计算机是怎么交流的呢?使⽤ 计算机语⾔ 。 ⽬前已知已经有上千种计算机语⾔,⼈们是通过计算机语⾔写的程序,给计算机下达指令&am…

Ubuntu 安装RUST

官方给的是这样如下脚本 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh 太慢了 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh -x 执行这个脚本后会给出对应的下载链接 如下图 我直接给出来 大多数应该都是这个 https://static.rust-…

【EXCEL数据处理】000013 案例 EXCEL筛选与高级筛选。

前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】000013 案例 EXCEL筛选与高级筛选。使用的软件&#…

【动态规划-最长公共子序列(LCS)】力扣1035. 不相交的线

在两条独立的水平线上按给定的顺序写下 nums1 和 nums2 中的整数。 现在,可以绘制一些连接两个数字 nums1[i] 和 nums2[j] 的直线,这些直线需要同时满足: nums1[i] nums2[j] 且绘制的直线不与任何其他连线(非水平线&#xff09…

提升开机速度:有效管理Windows电脑自启动项,打开、关闭自启动项教程分享

日常使用Windows电脑时,总会需要下载各种各样的办公软件。部分软件会默认开机自启功能,开机启动项是指那些在电脑启动时自动运行的程序和服务。电脑开机自启太多的情况下会导致电脑卡顿,开机慢,运行不流畅的情况出现,而…

[C++11] lambda表达式

文章目录 Lambda表达式简介捕获列表的常见写法: Qt中的connect和Lambda常规的 connect() 方式:使用Lambda表达式的 connect():代码示例: 捕获外部变量在 Qt 信号槽中的应用Lambda在Qt中的使用优势总结参考代码总结: La…

目标检测与图像分类:有什么区别?各自的使用场景是什么?

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

Android阶段学习思维导图

前言 记录下自己做的一个对Android原生应用层的思维导图,方便个人记忆扩展;这里只露出二级标题。 后语 虽然有些内容只是初步了解,但还是记录了下来;算是对过去一段学习的告别。

EtherNet/IP 转 EtherNet/IP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关

EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关https://item.taobao.com/item.htm?ftt&id822721028899 协议转换通信网关 EtherNet/IP 转 EtherNet/IP GW系列型号 MS-GW22 概述 简介 MS-GW22 是 EtherNet/IP 和 EtherNet/IP 协议转换网关,…

ThreeJS入门(092):THREE.Curve 知识详解,示例代码

作者: 还是大剑师兰特 ,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,webgl,ThreeJS,canvas&#xf…

厂商资源分享网站

新华三(H3C)是一家中国知名的网络设备供应商,提供网络设备、网络解决方案和云计算服务。公司成立于2003年,是华为公司和惠普公司合资的企业,总部位于中国深圳。 华为(Huawei)是一家全球知名的电…

使用rsync+jenkins实现服务自动部署全流程

项目背景:城市政务云服务器没有上k8s,所有后端服务都是原始方式部署启动 (java -jar xxx.jar),那么有没有方式简化部署难度,实现自动部署?当然是有的,下面详细介绍(以Cen…

前端工程化 - Vue

环境准备 Vue-cli是Vue官方提供的一个脚手架,用户快速生成一个Vue的项目模板。 Vue-cli提供了如下功能: 统一的目录结构本地调试热部署单元测试集成打包上线 需要安装Node.js 安装Vue-cli npm install -g vue/cli通过vue --version指令查看是否安装成…

vite学习教程03、vite+vue2打包配置

文章目录 前言一、修改vite.config.js二、配置文件资源/路径提示三、测试打包参考文章资料获取 前言 博主介绍:✌目前全网粉丝3W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。 涵盖技术内容&…

数学概念算法-打印100以内的素/质数

素数:只能被1和自己整除的数 暴力破解 埃氏筛选 找到第一个数字,如果它是素数,则把它的倍数全部划掉 比如数字2是素数,那么 4,6,8,10,12。这些数字肯定不是素数,所以不用再考虑,直接划掉即可 第二步&#…

20年408数据结构

第一题: 解析:这种题可以先画个草图分析一下,一下就看出来了。 这里的m(7,2)对应的是这图里的m(2,7),第一列存1个元素,第二列存2个元素,第三列存3个元素,第四列存4个元素,第五列存5个元素&#…

【ubuntu】ubuntu20.04安装chrome浏览器

1.下载 https://download.csdn.net/download/qq_35975447/89842972 https://www.google.cn/chrome/ 2.安装 sudo dpkg -i google-chrome-stable_current_amd64.deb 3.使用

数据结构 ——— 单链表oj题:反转链表

目录 题目要求 手搓一个简易链表 代码实现 题目要求 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表 手搓一个简易链表 代码演示: struct ListNode* n1 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(n1);…