数据查询方法及电子设备与流程

文档序号:37431168发布日期:2024-03-25 19:24阅读:8来源:国知局
本发明涉及数据库领域,尤其涉及一种数据查询方法及电子设备。
背景技术
::1、随着网络、通信技术的快速发展,海量数据正以前所未有的增长趋势冲击着各个行业。为了有效地管理、维护这些数据,用户通常会使用数据库进行数据的存储。2、此外,为了便于用户查看数据库中存储的数据,在实际场景下,通常会提供用户界面(user interface,ui),在用户界面中可以为用户呈现数据库中存储的数据。并且,在用户界面上还可以提供一些控件,以供用户进行数据的筛选等。但是,通常情况下,这些控件仅能够支持设置固定的过滤条件或者排序条件,灵活性较低。技术实现思路1、本技术实施例公开了一种数据查询方法及电子设备,可以提高数据查询的灵活性,满足用户的各种查询需求。2、第一方面公开一种数据查询方法,该数据查询方法可以应用于第二设备,也可以应用于第二设备中的模块(例如,芯片、中央处理器等),还可以应用于能实现全部或部分第二设备功能的逻辑模块或软件。下面以应用于第二设备为例进行描述。该数据查询方法可以包括:接收来自第一设备的第一请求,该第一请求包括目标查询参数;在该目标查询参数包括多个过滤参数对象的情况下,基于该多个过滤参数对象和该多个过滤参数对象之间的嵌套关系得到过滤语句;该过滤参数对象与过滤条件对应,该嵌套关系用于指示该多个过滤参数对象对应的过滤条件之间的嵌套关系,该目标查询参数为基于配置文件生成的;基于该过滤语句和预设查询语句得到目标查询语句;基于该目标查询语句从数据库中获取第一查询结果;向该第一设备发送第一目标数据,该第一目标数据包括该第一查询结果。3、本技术实施例中,查询请求中携带的目标查询参数可以包括多个过滤参数对象和该多个过滤参数对象之间的嵌套关系,这样,可以灵活地支持设置各种过滤条件的组合,可以极大地提高数据查询的灵活性,从而可以满足用户的各种查询需求。4、示例性的,这里的第一查询结果可以参考下述图3和图4中的第二查询结果,第一目标数据可以参考下述图4中的第二目标数据。5、作为一种可能的实现方式,该目标查询参数还包括一个或多个排序参数和该一个或多个排序参数的排序优先级,该方法还包括:基于该一个或多个排序参数和该一个或多个排序参数的排序优先级得到排序语句;该基于该过滤语句和预设查询语句得到目标查询语句包括:基于该过滤语句、该排序语句和预设查询语句得到目标查询语句。6、本技术实施例中,目标查询参数还可以包括一个或多个排序参数,以及该一个或多个排序参数的排序优先级。基于排序优先级,可以确定多个排序参数对应的排序先后顺序,从而可以保证排序的准确性。可见,基于排序优先级可以灵活地支持设置各种排序条件的组合。7、作为一种可能的实现方式,该第二设备包括一个或多个类,该一个或多个类的属性与数据表的列对应,该一个或多个类的属性包括表字段注解,该表字段注解的值为对应的列名;该过滤参数对象包括属性名称、查询值和过滤类型,该属性名称用于指示需要进行过滤的属性,该查询值为对应过滤方式需要的参数值,该过滤类型用于指示过滤方式和联接关系,该基于该多个过滤参数对象和该多个过滤参数对象之间的嵌套关系得到过滤语句包括:基于反射的方式获取该多个过滤参数对象中的属性名称对应的列名;基于该多个过滤参数对象对应的列名、该多个过滤参数对象中的查询值、该多个过滤参数对象中的过滤类型和该多个过滤参数对象之间的嵌套关系得到过滤语句。8、本技术实施例中,可以定义一个或多个类,这一个或多个类的属性可以与数据表的列对应,并且,可以为对应属性设置表字段注解(@tablefield)。基于此,过滤参数对象中可以直接包括对应的属性名称,之后,可以直接通过反射的方式获取属性名称对应的列名,这样,可以降低表中字段名称(列名)变更对程序的影响。当表字段名称变更时,对应修改表字段注解中的值即可,不需要对整体程序的处理逻辑进行修改。此外,由于不同场景下,目标查询参数的格式可以是统一的,因此,解析目标查询参数并生成对应的查询语句的处理流程可以是相同的,也就是说,解析目标参数并生成对应的过滤语句、排序语句的代码可以是相同的,这样,可以极大地缩短开发周期,快速地满足用户需求。9、作为一种可能的实现方式,该一个或多个类包括目标类,该目标类的属性与该第一查询结果的各个列对应,该方法还包括:将该第一查询结果转换为目标类对象;将该目标类对象转换为对应的json对象;该向该第一设备发送第一目标数据包括:向该第一设备发送第一目标数据,该第一目标数据包括该json对象。10、本技术实施例中,由于预先定义了与查询结果对应的类,因此,可以将查询结果直接转换为对应的类对象,然后将该类对象转换为对应的json对象,并向第一设备返回该json对象。而json格式的数据便于解析和传输,从而可以便于第一设备进行解析并为用户呈现对应的查询结果。11、作为一种可能的实现方式,该一个或多个类的属性还包括查询标识注解,该查询标识注解用于标识对应的属性是否允许设置过滤条件,该查询标识注解的值包括true和false两种,当取值为true时,表明允许设置过滤条件,当取值为false时,表明不允许设置过滤条件;该基于反射的方式获取该多个过滤参数对象中的属性名称对应的列名包括:在该多个过滤参数对象中的属性名称对应的属性的查询标识注解的值为true的情况下,基于反射的方式获取该多个过滤参数对象中的属性名称对应的列名;该方法还包括:在该多个过滤参数对象中的属性名称对应的属性的查询标识注解的值为false的情况下,向该第一设备发送报错信息。12、本技术实施例中,可以通过设置查询标识注解(如下述@isquery)对可过滤的属性进行限制,可以保障查询的安全性。并且,通过@isquery注解可以对需要消耗大量处理资源的属性进行过滤限制,可以避免对第二设备的性能造成影响。13、作为一种可能的实现方式,该目标查询参数还包括分页参数,该分页参数包括查询页和/或分页值,该查询页用于指示需要查询的页,该分页值用于指示每页包括多少条数据;该基于该目标查询语句从数据库中获取第一查询结果包括:基于该查询页和/或该分页值,以及该目标查询语句从数据库中获取第一查询结果。14、本技术实施例中,可以设置分页参数,这样可以每次仅查询一部分对应的数据,可以不用查询所有的数据,从而可以提高数据查询效率。并且,这种方式可以使得每次传输的数据量较少,可以节约传输资源。15、作为一种可能的实现方式,该方法还包括:接收来自该第一设备的第二请求;响应于该第二请求,基于该预设查询语句从该数据库中获取第二查询结果;向该第一设备发送第二目标数据,该第二目标数据包括该第二查询结果和该第二查询结果中各个列对应的属性名称。16、本技术实施例中,在第一设备首次发送查询请求时,可以基于预设的查询语句获取第二查询结果,并向第一设备发送该第二查询结果和该第二查询结果中各个列对应的属性名称,以便第一设备可以确定可以基于哪些属性设置查询条件。并且,由于这种方式下,目标数据的格式都可以是统一的,因此,第一设备解析目标数据的程序等可以通用,不必针对不同的场景开发不同的程序等。17、示例性的,这里的第二查询结果可以参考下述图3和图4中的第一查询结果,第二目标数据可以参考下述图4中的第一目标数据。18、作为一种可能的实现方式,该预设查询语句包括待查询的字段、待查询的表,该预设查询语句用于从数据库中获取第二查询结果。19、作为一种可能的实现方式,该预设查询语句还包括联表语句。20、第二方面公开一种数据查询方法,该数据查询方法可以应用于第一设备,也可以应用于第一设备中的模块(例如,芯片、中央处理器等),还可以应用于能实现全部或部分第一设备功能的逻辑模块或软件。下面以应用于第一设备为例进行描述。该数据查询方法可以包括:显示目标界面,该目标界面包括目标控件,该目标控件用于支持用户设置多个过滤条件以及该多个过滤条件之间的嵌套关系,该过滤条件用于对数据库中的数据进行过滤;接收用户针对该目标控件的第一操作,该第一操作包括设置多个过滤条件以及该多个过滤条件之间的嵌套关系;基于配置文件解析该多个过滤条件以及该多个过滤条件之间的嵌套关系,并生成目标查询参数;该目标查询参数包括该多个过滤条件对应的过滤参数对象和该多个过滤参数对象之间的嵌套关系;向第二设备发送第一请求,该第一请求包括该目标查询参数,该第一请求用于请求第一目标数据;接收来自该第二设备的第一目标数据,该第一目标数据包括第一查询结果;在用户界面中显示该第一查询结果。21、本技术实施例中,基于目标控件,可以支持用户设置多个过滤参数对象和该多个过滤参数对象之间的嵌套关系,这样,可以便于用户灵活地设置各种过滤条件的组合,可以极大地提高数据查询的灵活性,满足用户的各种查询需求。22、作为一种可能的实现方式,该方法还包括:接收用户的第二操作;响应于该第二操作,向第二设备发送第二请求,该第二请求用于请求第二目标数据;接收来自该第二设备的该第二目标数据,该第二目标数据包括第二查询结果和该第二查询结果中各个列对应的属性名称;该基于配置文件解析该多个过滤条件以及该多个过滤条件之间的嵌套关系,并生成目标查询参数包括:基于配置文件解析该多个过滤条件以及该多个过滤条件之间的嵌套关系,并使用该第二查询结果中各个列对应的属性名称生成目标查询参数,该过滤条件基于该第二查询结果中各个列对应的属性名称设置,该过滤条件包括属性名称、查询值和过滤方式,该过滤参数对象包括属性名称、查询值和过滤类型,该属性名称用于指示需要进行过滤的属性,该过滤类型用于指示过滤方式和联接关系,该查询值为对应过滤方式需要的参数值。23、本技术实施例中,在第一设备不知道可以基于哪些属性进行数据过滤时,第一设备可以先向第二设备发送第二请求,基于第二请求,第一设备可以得到第二设备返回的第二目标数据,通过第二目标数据,第一设备可以知道可以基于哪些属性进行数据的过滤。之后,第一设备可以基于这些属性生成对应的目标查询参数,实现数据的查询。可见,这种方式下,针对于不同的场景,均可以通过第一次查询请求得到对应的属性名称,然后再基于这些属性名称生成对应的目标查询参数,可以提高程序的通用性。24、作为一种可能的实现方式,所述目标数据还包括分页数据,所述分页数据包括查询页、分页值、总记录条数、分页总页数。25、第三方面公开一种电子设备,该电子设备包括处理器、存储器,该处理器调用该存储器中存储的计算机程序实现如上述第一方面以及第一方面中任一可能的实现方式中所提供的数据查询方法,或者实现如上述第二方面以及第二方面中任一可能的实现方式中所提供的数据查询方法。26、第四方面公开一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序或计算机指令,当该计算机程序或计算机指令运行时,实现如上述各方面公开的数据查询方法。27、第五方面公开一种芯片,包括处理器,该处理器用于执行存储器中存储的计算机程序或计算机指令,当计算机程序或计算机指令被执行时,使得芯片执行上述各方面公开的数据查询方法。28、作为一种可能的实施方式,存储器位于芯片之外。29、第六方面公开一种计算机程序产品,该计算机程序产品包括计算机程序代码,当该计算机程序代码被运行时,使得上述各方面公开的数据查询方法被执行。30、应理解,本技术上述多个方面或者任一种可能的实施方式的实现和有益效果可互相参考。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1