博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript + sql编写SQL客户端工具tabris
阅读量:6470 次
发布时间:2019-06-23

本文共 1982 字,大约阅读时间需要 6 分钟。

祝大家2018新年快乐,
前不久发现了一个创意的脚本
JtSQL(java编写)
开源地址为:
JtSQL 特点:
*.结合了JS、SQL、模板理念;
*.保持了JS和SQL的语法高亮(利于DBA审核);
*.方便统一管理、部署、运行
*.像存储过程一样,提供当前上下文及变量支持;
*.像SQL客户端工具一样,即时编写即时运行;
*.像定制统计程序一样,提供过程和逻辑控制能力;
*.服务端运行(别误会成客户端运行啊...) 
 
确实在工作中总会遇到这样的问题
经常去拉sql,有时候一句sql执行搞不定 就得分多次sql,
写sql写的心累。把JavaScript 和 sql 结合起来确实很赞。能解决一直困扰的问题
以这个为创意点我也搞了一个工具 我命名为tabris脚本工具
开源地址为:
(ps:大家有建议尽管提)
特色:
1 包含JtSQL的所有特性
2
 利用微软的 ClearScript V8 engine
详细请参考:
ClearScript很强大可以做到c# 与 JavaScript 互通
3 把功能模块化 目前已实现的3个重要的模块
1. 执行http请求处理模块
2. 日志输出处理模块
3. 执行sql处理模块.
4. js代码智能提示tabris模块
以后想用其他的功能都可以扩展其他模块
 
4. 代码编写采用CodeMirror ,写js代码智能提示
 
 
下面来一个动图感受下吧
以以下场景为示例
 
 
 
 
 
 

 

封装的sql log http 三大组件 在编辑器上的方法能代码智能提示 

 

 

 

//DB处理器var db = this.tabris.create('SQL', {  name:'testorm',  type:'mysql'});//http处理器var http = this.tabris.create('HTTP', {  method:'GET'});//log处理器var log = this.tabris.create('LOG', {  trace:true});db.delete('delete from child_district');//从district表里面获取所有城市的Codevar get_district_sql = "select Code from district";var district_code_list = db.query(get_district_sql);for (var index = 0; index < district_code_list.length; index++) {    getChildDistrictAndInsertToDb(district_code_list[index].Code);}//远程获取function getChildDistrictAndInsertToDb(parentCode){  log.info(parentCode);  var re = http.getJson({    url:'https://fuwu.sf-express.com/service/address/newAddr/getNewSubAddress?parentCode=' + parentCode  });  if(!re.subAddressList || !re.subAddressList.length) return;  for (var index = 0; index < re.subAddressList.length; index++) {    var child = re.subAddressList[index];    var insertSql = "insert into child_district (Name,Code,DataChange_LastTime) VALUES('"+ child.distCnName +"','"+ child.distCode +"',now())";    var insertResult = db.insert(insertSql)    if(insertResult!=1){      log.error(child.distCnName + '插入db失败!');    }else{      log.info(child.distCnName + '插入db成功!')    }  }}

 

下载地址

https://pan.baidu.com/s/1dGZuodt9aMVKWyJ1F0byZw


如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,转载文章之后须在文章页面明显位置给出作者和原文连接,谢谢。
你可能感兴趣的文章
spring3.0.7中各个jar包的作用总结
查看>>
Windows 10 /win10 上使用GIT慢的问题,或者命令行反应慢的问题
查看>>
梯度下降(Gradient descent)
查看>>
Windows平台分布式架构实践 - 负载均衡
查看>>
Android快速开发常用知识点系列目录
查看>>
最容易理解的对卷积(convolution)的解释
查看>>
《机器学习实战》知识点笔记目录
查看>>
完美解决NC502手工sql的查询引擎排序及合计问题
查看>>
windows 7/mac编译cocos2d-x-3.2*的android工程报错
查看>>
MYSQL导入导出.sql文件(转)
查看>>
git review报错一例
查看>>
《信息安全系统设计基础》 课程教学
查看>>
Linux平台下使用rman进行oracle数据库迁移
查看>>
全栈工程师学习Linux技术的忠告
查看>>
iOS自定制tabbar与系统的tabbar冲突,造成第一次点击各个item图片更换选中,第二次选中部分item图片不改变...
查看>>
SVN服务器使用(二)
查看>>
反射获取内部类以及调用内部类方法
查看>>
C语言 - pthread
查看>>
App里面如何正确显示用户头像
查看>>
DATAGUARD维护:从库宕机后如何恢复到管理恢复模式
查看>>