【JEECG技术博文】Jeecg高级查询器

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               


一、背景 

      对于用户来讲查询功能按易用性分三个层次:

        1. 最简单查询操作是一个输入框,全文检索,如百度,后台实现技术使用搜索引擎,需要设计和建立索引,技术较为复杂,适用于文档和信息数据库检索,但是结果很难精确控制。

        2. 其次是定义字段查询,很多企业信息系统大多用的是这种查询,针对模块特定字段的查询有针对性、使用门坎低,适用于企业内部信息管理系统模块定制。

        3. 最后一种是专门针对数据模型灵活的查询编辑器,使用难度最高,但是查询结果可以灵活和精确的控制,适用于有一定IT知识并对数据相当了解的用户,同时又可以避免直接将数据库暴露给用户带来的不安全隐患。

        大家不难发现一个好的系统软件的查询基本会涵盖上述三种类型的查询功能

二、jeecg实现原理

        Jeecg系统中模块主要使用第二种方式的查询功能,使用hibernate的QBC来封装前端查询条件,针对字段的定制过滤条件,最后转换为sql执行数据库查询。

        现有方案优点:

            1)默认无须复杂开发即可实现字段检索,支持范围、模糊、精确匹配查询

            2)内置简单表达式支持:!*,实现非、模糊、数组等

        现有方案缺点:

            1)不支持or条件

            2)不支持字段间操作field1=field2

            3)不支持非hibernate关联表联合查询

            4)单一字段条件只能出现一次

            5)不支持sql嵌套

            6)要支持上述功能需要额外开发定制工作

        某些特定场景下,用户想要通过模块获得相关信息必须借助于第三方报表模块功能或求助于开发人员,无形中对报表模块开发带来一定压力。比如,用户要从模块中查询特殊的部分数据进行操作,现有查询功能无法做到,报表模块又不能操作编辑,这个时候就是高级查询器定制查询功能派上用场的时候了。

三、类似应用举例

        我们来看看Outlook邮件查询设计:

1.全文检索型

猜你喜欢

转载自blog.csdn.net/fswhwd/article/details/84023626