dxbuilder关于开发一款国产数据库建模软件的思考与行动

一、背景

随着一声紧急的呼叫,快快快。把你们有安装PownerDesigner的软件都卸载掉,公司被发律师函了,这是来自于领导的呼喊。

我们公司大部分的软件的数据结构,都是用PownerDesigner来进行设计的。以便进行后期的管理与维护。不过由于没有付费,这次被发函了。好像国外软件的套路都差不多,等你用的时候不说,等你离不开他了,养肥了,开始进行宰割。

为什么没有一个国产的呢?别人有我们也得有不是?带着这个疑问,我准备开动了

二、定目标

那么这个软件要实现哪些功能呢?先解决主要问题,分步实施

  • 1、能进行mysql,sqlserver,oracle,国产达梦,TiDB等数据库的表结构设计(字段、索引、主外键关系,默认值....)
  • 2、能多人一起进行设计,特别是大的项目,需要多人一起。能把文件分享给别人
  • 3、设计的表结构能导为DDL,DML,EXCEL等格式
  • 4、能按模块进行分类管理(一般大项目都有很多模块,需要分类管理)
  • 5、表结构设计完成后,能直接生成代码(支持mybatis,mybatisplus,hibernate的CRUD操作,从controler,service到DAO),方便快捷开发
  • 6、能把常用字段保存为模板,这样新设计表时,能直接从模板里选择常用字段(特别是每create_time,update_time等每个表都有的字段)
  • 7、能生成ER图,模型图。并且在图上直接修改表,修改字段等。这样可以理清楚表之间的关系
  • 8、能用excel设计表结构,然后导入进来。然后DDL,代码生成什么都有了(好像经常有人用EXCEL做表结构,然后DDL又要再写一次,太麻烦了)
  • 9、支持windows,mac,linux版本,以及Sass版本

嗯,差不多了,先干这些

三、技术选型

我是JAVA技术栈的,怎么开发跨端的软件了?想来想去使用下面的

  • 后端使用JAVA,轻车熟路
  • 前端使用VUE,好画页面
  • tauri实现桌面端打包,也想过更成熟的electron。不过tauri包更小,更安全,就是文档太少。我喜欢尝试新技术,最后选用tauri

四、开干

这里省略几个不眠夜

五、成果

经过不停的努力,干成什么样了?大家可以试用下,给点反馈:

地址:dxbuilder.nyawei.cn/

部分界面:

image.png

image.png

image.png

image.png

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

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

相关文章

前端面试题html

HTML DOCTYPE有什么作用? DOCTYPE是一种指示浏览器以何种HTML或XHTML规范来解析文档的声明。它能够告知浏览器网页文档使用的标记语言的类型以及版本,从而确保浏览器能够正确地展示网页内容。DOCTYPE声明通常位于HTML文档的开头,是HTML文档…

Vue学习之第一、二章——Vue核心与组件化编程

第一章. Vue核心 1.1 Vue简介 1.1.1 官网 英文官网: https://vuejs.org/中文官网: https://cn.vuejs.org/ 1.1.2 Vue特点 遵循 MVVM 模式编码简洁, 体积小, 运行效率高, 适合移动/PC 端开发它本身只关注 UI, 也可以引入其它第三方库开发项目 1.2 初始Vue 这里可以参考&a…

31--设计模式、面向对象设计原则

1、设计模式 1.1 设计模式概述 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式不是一种方法和技术,而…

自定义删除无依赖文件的webpack插件

插件原理 通过自定义webpack插件,利用执行完成编译的封存阶段后,产生的产物module.fileDependencies,生成依赖的文件组。通过读文件的方式,将待扫描的文件组和有依赖关系的文件进行对比。最终暴露出项目中,不存在依赖…

ios 之 数据库、地理位置、应用内跳转、推送、制作静态库、CoreData

第一节:数据库 常见的API SQLite提供了一系列的API函数,用于执行各种数据库相关的操作。以下是一些常用的SQLite API函数及其简要说明:1. sqlite3_initialize:- 初始化SQLite库。通常在开始使用SQLite之前调用,但如果没有调用&a…

“京东”数据包暴雷——李逵还是李鬼?

大家好,我是吴军,一家软件技术开发公司的产品经理。 前几个月市面上出现了一个京东数据包的项目,乍一听还蛮正规的,强子不卖货,去做数据服务了?他究竟是怎么一个盈利方式?到底是李逵还是李鬼&a…

【新资讯】《网络安全事件报告管理办法(征求意见稿)》正在公开征求意见

近年来网络安全事故频发,造成了不少损失和危害。为了减少网络安全事故的发生,规范网络安全事件的报告,国家互联网信息办公室根据《中华人民共和国网络安全法》等法律法规起草了《网络安全事件报告管理办法(征求意见稿)…

释放创意,点亮视频!红巨星Magic Bullet Looks带给您绚丽的色彩魔法

Red Giant Magic Bullet Looks 是一款适用于Mac的视频后期处理软件。它是由Red Giant公司开发的一款专业级颜色校正和调色工具,旨在帮助电影制作人、视频编辑和摄影师实现令人惊叹的视觉效果。 Magic Bullet Looks 提供了一个直观而强大的用户界面,使用…

Linux操作系统(Crontab计划任务+NTP时间同步服务器)

如何修改linux系统时间 与时间相关的命令,查看当前的时间 运行 date 即可 cal 查看当前月份的日历 运行 timedatectl 查看时间详细参数 ( NTP: network time protocol 网络时间协议 ) ( local time : 本地时间 &#x…

volatile关键字详解

volatile 关键字详解 介绍 Java中的volatile关键字是一个用于确保变量在多线程环境下的可见性和部分有序性的修饰符。当一个字段被声明为volatile时,它具有以下特性: 可见性:在多线程环境中,一个线程修改了一个volatile变量的值…

采用curl -w测试接口或域名访问速度

命令: curl -o /dev/null -H "Cache-Control: no-cache" -s -w time_namelookup:"\t"%{time_namelookup}"\n"time_connect:"\t\t"%{time_connect}"\n"time_pretransfer:"\t"%{time_pretransfer}&quo…

BP算法与淋浴器的温度调节

BP算法(反向传播算法)是一种用于神经网络训练的基本算法。它通过逐层迭代地调整神经网络的权重和偏置,以使网络的输出尽可能接近期望的输出。BP算法之所以能够训练神经网络,是因为它基于梯度下降的思想,通过最小化损失…

大创项目推荐 深度学习LSTM新冠数据预测

文章目录 0 前言1 课题简介2 预测算法2.1 Logistic回归模型2.2 基于动力学SEIR模型改进的SEITR模型2.3 LSTM神经网络模型 3 预测效果3.1 Logistic回归模型3.2 SEITR模型3.3 LSTM神经网络模型 4 结论5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 …

11-网络安全框架及模型-软件安全能力成熟度模型(SSCMM)

目录 软件安全能力成熟度模型 1 背景概述 2 主要内容 3 成熟度等级定义 4 关键过程和实践 5 评估方法 6 改进建议 7 持续改进 8 主要价值 9 应用场景 10 优势和局限性 备注 软件安全能力成熟度模型 1 背景概述 SSCMM模型是软件安全能力成熟度模型,它描…

智能优化算法应用:基于鱼鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于鱼鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于鱼鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鱼鹰算法4.实验参数设定5.算法结果6.参考文献7.MA…

6、IDEA集成GitHub/码云

这里写目录标题 1、设置GitHub账号2、分享工程到GitHub3、Push推送本地库到远程库4、Pull拉取远程库到本地库5、Clone克隆远程库到本地6、码云简介 1、设置GitHub账号 可以采用两种登录方式:账户密码登入、口令登入。 2、分享工程到GitHub 先在GitHub中创建一个远…

【Hive_05】企业调优1(资源配置、explain、join优化)

1、 计算资源配置1.1 Yarn资源配置1.2 MapReduce资源配置 2、 Explain查看执行计划(重点)2.1 Explain执行计划概述2.2 基本语法2.3 案例实操 3、分组聚合优化3.1 优化说明(1)map-side 聚合相关的参数 3.2 优化案例 4、join优化4.1…

ARCGIS PRO SDK GeometryEngine处理独立几何图形的函数

1、面积类:pol为Polygon 1).Area:获取几何图形的面积。这是使用二维笛卡尔数学来计算面积的平面测量 double d GeometryEngine.Instance.Area(pol) 2).GeodesicArea:获取几何图形的椭球面积 …

highcharts的甘特图设置滚动时表头固定,让其他内容跟随滚动

效果图:最左侧的分类列是跟随甘特图滚动的,因为这一列如果需要自定义,比如表格的话可能会存在行合并的情况,这个时候甘特图是没有办法做的,然后甘特图的表头又需要做滚动时固定,所以设置了甘特图滚动时&…

Python测试框架pytest核心库pluggy详解

代码案例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 import pluggy # HookspecMarker 和 HookimplMarker 实质上是一个装饰器带参数的装饰器类,作用是给函数增加额外的…