Java桌面版SQL语句生成器(sql-auto-creator),不做无用功!

背景:

问题点:本人是一个java开发人员兼组长,经常设计DB设计。然后开发人员使用这个DB设计进行数据库建表。这个建表工作属实枯燥无味、浪费时间、容易出错。有的时候一个字段长度搞错了,开发的时候又出现问题。我知道很多互联网平台有数据库建表的功能。但是数据库设计这种东西,不能外泄呀!!! 当然,可以使用 power designer 来进行设计。有任何疑问都可以在下方评论!

最近,在学习JavaFX 又名OpenJFX。我不知道在CSDN上为什么会有那么多人说这个东西过时了。这个OpenJFX还在持续更新,甚至有长期维护版,跟jdk的更新频率差不多,另外 JetBrains系列产品就是用swing做的,其中有我们常用的Intellij。

至于javaFX与Swing的区别,参照以下这篇文章:https://www.zhihu.com/question/65800604?sort=created

正片:

刚刚提到了最近在学习OpenJFX。俗话说 "实践是检验真理的唯一标准"

所以我在学习的同时将我平时开发的小工具进行了一次拓展,开发了这款 SQL生成器,可以查看更新日志

下面我将介绍一下这个小玩意如何使用。

第一步:下载jar包 更新日志

 

第二步:双击jar包(前提是你已经配置了环境变量)

第三步:下载模板(sheet的开始和结束要有标识,后面新建的表按照下图的例子进行填写,一定不要写错别字 最好全部大写)

第四步:上传excel,数据库名最好不要填写(mysql、sys等系统数据库,原因下面会说), 然后选择文件,编码格式,数据库类型 提交即可。

第五步:打开文件

DROP DATABASE IF EXISTS `demo`;
 CREATE DATABASE `demo` DEFAULT CHARACTER SET `UTF32` COLLATE `UTF32_general_ci`;
USE `demo`;

 DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (`userid`BIGINT(20) NOT NULL  AUTO_INCREMENT  COMMENT '描述: 自增主键 / 备注: 用户ID',`phone`VARCHAR(20) NULL  COMMENT '描述: 用户手机号码 / 备注: 逻辑唯一',`password`VARCHAR(250) NULL  COMMENT '描述: 用户密码 / 备注: MD5加密MD5(MD5+原密码)小写',`nickname`VARCHAR(250) NULL  COMMENT '描述: 昵称 / 备注: 无',`avatarid`BIGINT(20) NULL  COMMENT '描述: 用户头像文件ID / 备注: 返回头像的时候先判断avatarid,avatarid没有的时候再返回third_avatar',`third_avatar`VARCHAR(250) NULL  COMMENT '描述: 第三方登录的时候头像地址 / 备注: 无',`point`INT(11) NOT NULL  DEFAULT 0 COMMENT '描述: 用户当前积分 / 备注: 获得则增加,消耗则减少',`point_total`INT(11) NOT NULL  DEFAULT 0 COMMENT '描述: 用户总获得积分 / 备注: 只会增加,记录的是历史获得的总积分数',`level`TINYINT(2) NOT NULL  DEFAULT 0 COMMENT '描述: 用户等级 / 备注: 根据point_total和balance_use来确定.总共七个等级',`level_point`TINYINT(2) NOT NULL  DEFAULT 0 COMMENT '描述: 用户等级(积分) / 备注: 根据point_total来确定.总共七个等级',`wxopenid`VARCHAR(250) NULL  COMMENT '描述: 用户微信开放ID / 备注: 无',`wxuninid`VARCHAR(250) NULL  COMMENT '描述: 用户微信uninid / 备注: 看情况,为了做小程序和App端的用户统一',`balance`DECIMAL(10,2) NOT NULL  DEFAULT 0.00 COMMENT '描述: 用户余额 / 备注: 当前的余额,充值增加,消费减少',`balance_total`DECIMAL(10,2) NOT NULL  DEFAULT 0.00 COMMENT '描述: 用户余额总值 / 备注: 只增加不减少.充值就增加',`balance_use`DECIMAL(10,2) NOT NULL  COMMENT '描述: 用户消费额总值 / 备注: 必须下单之后才增加,投诉退款之后会减少.并且用户对应的等级和试吃订单的金额也会减少.',`sex`VARCHAR(20) NULL  COMMENT '描述: 性别 / 备注: 男女',`paypassword`VARCHAR(250) NULL  COMMENT '描述: 支付密码 / 备注: MD5加密,大写形式.六位数字',`token`VARCHAR(250) NULL  COMMENT '描述: 用户访问token / 备注: 用户登录requestsessionid+useridmd5大写每次登陆更新token和token_time退出登录清空',`token_time`TIMESTAMP  NULL  COMMENT '描述: token更新时间 / 备注: 无',`open_app_time`TIMESTAMP  NULL  COMMENT '描述: 最后一次打开App时间 / 备注: 用来统计活跃用户数',`addtime`TIMESTAMP  NOT NULL  DEFAULT now() COMMENT '描述: 添加时间 / 备注: 无',PRIMARY KEY (`userid`)) comment='用户表' ENGINE=InnoDB DEFAULT CHARACTER SET=`UTF32` COLLATE=`UTF32_general_ci` ROW_FORMAT=DYNAMIC;

备注:

1.生成的sql语句,是根据excel解析得出来的,只要没有错别字,能够一次运行成功。

2.database的第一句是DROP语句。会直接删库,如果此时还使用的root账号,那就GG了。所以建议不要填写mysql、sys等系统数据库。

 

 

此工具的jar包和源码已经发布到github中。点我直达

喜欢的小伙伴可以帮忙点个小星星吗?如果你感兴趣的话,可以fork进行二次开发。

 

说明:CSDN复制的情况太严重了,请各位同僚,不要随意复制。上百度一搜,千篇一律的太多了,浪费时间和精力。扪心自问一下,您复制了又有什么用呢?您自己真的知道怎么解决了吗?下次出现一样的问题,是否又是打开百度重新搜一下?

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值