javascript + sql编写SQL客户端工具tabris

祝大家2018新年快乐,
前不久发现了一个创意的脚本 JtSQL(java编写)
开源地址为: https://github.com/noear/JtSQL
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表里面获取所有城市的Code
var 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


如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,转载文章之后须在文章页面明显位置给出作者和原文连接,谢谢。
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/643493

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。