Ctooljson 转 mysql
🛫 导读
需求
获取某json格式的数据后,希望将它保存到数据库,这时就需要根据json内容转换为数据库建表语句,方便快速建表。
- 根据字段类型(整数、浮点数、字符串)创建不同的sql字段。
- 添加表头表尾。
本文在ctool基础上,扩展该功能。
小编fork的ctool代码地址:https://gitcode.net/yeahmao/front_end__ctool
开发环境
版本号 | 描述 | |
---|---|---|
文章日期 | 2022-11-26 | |
操作系统 | Ubuntu 20.04.4 LTS | CSDN开发云 |
node -v | v16.17.0 | npm -v (8.15.0) |
Cloud IDE | 1.71.0 | |
1️⃣ 编写js实现json转mysql
效果图
根据json生成mysql的语句。
代码及注释
// 驼峰转下划线
function toLine(name) {
return name.replace(/([A-Z])/g,"_$1").toLowerCase();
}
// 判断是否是浮点数
function isDot(num) {
return String(num).indexOf(".") > -1
}
// 根据json字段的k和v转换一行sql(一个字段)
function get_line(k, v) {
if (typeof v == 'number') {
if (isDot(v)) {
return ` \`${k}\` float NOT NULL DEFAULT '0' COMMENT '',\n`;
} else {
return ` \`${k}\` bigint(20) NOT NULL DEFAULT '0' COMMENT '',\n`;
}
}
else if (typeof v == 'string') {
return ` \`${k}\` varchar(255) NOT NULL DEFAULT '' COMMENT '',\n`;
}
else if (typeof v == 'boolean') {
return ` \`${k}\` bigint(20) NOT NULL DEFAULT '0' COMMENT '',\n`;
}
return ` \`${k}\` varchar(255) NOT NULL DEFAULT '' COMMENT '',\n`;
}
// json2sql
// 模板-通用表头
// json转换后的字段
// 模板-通用表尾
function json2sql(j) {
var ret = `
DROP TABLE IF EXISTS \`table_name\`;
CREATE TABLE table_name(
\`id\` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id,唯一标识',
`;
for (let k in j) {
ret = get_line(toLine(k), j[k]);
}
return ret `
\`my_status\` INTEGER unsigned NOT NULL DEFAULT '1' COMMENT '状态:0为禁用;1为正常',
\`my_reserve1\` varchar(256) NOT NULL DEFAULT '' COMMENT '保留字段1',
\`my_reserve2\` varchar(256) NOT NULL DEFAULT '' COMMENT '保留字段2',
\`create_time\` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
\`create_by\` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人',
\`update_time\` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '操作时间',
\`update_by\` varchar(64) DEFAULT NULL COMMENT '更新人',
PRIMARY KEY (\`id\`),
UNIQUE KEY \`id_UNIQUE\` (\`id\`)
) ENGINE=InnoDB AUTO_INCREMENT=123001 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='表注释';
`;
}
2️⃣ 集成到ctool中
src/views/tool/json.vue
新增mysql按钮
src/views/tool/library/json/index.js
导出功能函数
to_mysql
效果图
📖 参考资料
- 【Ctool】最强开发工具编译踩坑 https://blog.csdn.net/kinghzking/article/details/125189369
- 【Ctool】【01-功能扩展】新建新的分类和子工具页面 https://blog.csdn.net/kinghzking/article/details/125673908
**ps:**文章中内容仅用于技术交流,请勿用于违规违法行为。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgihiaj
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13