基于可视化复杂SQL拼接插件 QueryBuilder
本文演示地址为: https://www.oschina.net/p/QueryBuilder 引言 基于Web的自定义查询系统在国内一直是一个短板,目前国内普遍的自定义查询均为一个简单的查询组件的罗列,达不到真正的实现动态、智能化的自定义查询。本系统就是在这个背景下,着力于解决这个短板,并将一个demo发布出来。 功能设计 1.1设计思想 自定义查询系统的组要目的是对系统中的任何数据进行任意组合的查询,而考虑到目前国内传统的自定义查询模块仅仅是条件的简单罗列、并不能达到处理复杂查询的目的的缺点开发一套类似于SQL语句的一个可视化的综合查询模块。 在本模块中,可以创建由各种复杂SQL查询语句组成的可视化的查询模板,在此模块中,包括查询数据来源、类别名管理、结果显示列管理、简单查询、高级查询、查询模板置顶、查询结果显示区域等。在综合查询模块设计中,分为两部分,一是动态的基础模型,二是用户在基础查询模型的基础之上创建的由自己定义的查询条件组成的查询模板。通过这两个部分来达到实现高度灵活的综合查询的功能。基础模型包含模型初始化组件和基础查询模型组件,初始化组件是由javascript 函数构成的。这些组件共同组成了在查询条件中可能出现的所有的组件和约束,基础查询模型由后台代码根据用户选择的查询类动态的生成Json对象封装。这两个组件所构成的基础模型则提供给用户作为其创建自定义查询的基础