本申请涉及计算机,具体涉及一种分页查询方法、装置、设备及存储介质。
背景技术:
1、随着互联网的发展,数据量的不断增大,很多业务都需要查询全部数据进行批量处理。传统查询方案是将数据库的所有记录全部查询出来,放在一个大集合中,然后进行循环批量处理,这将会有以下缺点:1、数据量大导致耗费大量内存,如果查询的数据量过大,还会撑爆内存,导致查询系统不可用。2、由于数据量过大,导致处理时效变慢,而在处理数据时,很有可能数据更新,导致处理的数据不是最新的数据。
2、为了保证查询系统的高可用,采用分页查询的方案来保证不会耗费大量内存,同时也能能够保证数据最新。目前主流的分页插件是pagehelper,使用这款插件实现分页查询。但是使用pagehelper插件,需要在执行查询语句前,调用开始分页方法,示例:pagehelper.startpage(pagenum,pagesize,false),但很容易会遗漏,导致查询未分页,这就又会查询全部数据,导致耗费大量内存、数据过时的情况产生。
技术实现思路
1、本申请提供一种分页查询方法、装置、设备及存储介质,能够检查分页查询功能是否正常,防止查询未分页。
2、第一方面,本申请提供一种分页查询方法,包括:
3、接收数据查询指令,并调用分页插件;
4、判断所述分页插件是否开启对所述数据查询指令的分页查询功能,得到判断结果;
5、根据所述判断结果确定是否执行所述数据查询指令。
6、在本申请的一些实施例中,所述判断所述分页插件是否开启对所述数据查询指令的分页查询功能,包括:
7、获取预先在所述数据查询指令上设置的检查框架的注解;
8、根据所述注解调用所述检查框架对所述分页插件的分页查询功能进行检查,得到检查结果;
9、根据所述检查结果判断所述分页插件是否开启对所述数据查询指令的分页查询功能。
10、在本申请的一些实施例中,根据所述注解调用所述检查框架对所述分页插件的分页查询功能进行检查,包括:
11、获取根据数据查询指令创建的线程变量;
12、调用所述检查框架对线程变量里是否包含页面对象进行检查。
13、在本申请的一些实施例中,所述根据所述检查结果判断所述分页插件是否开启对所述数据查询指令的分页查询功能,包括:
14、若所述检查结果为线程变量里包含页面对象,则确定所述分页插件已开启对所述数据查询指令的分页查询功能;
15、若所述检查结果为线程变量里不包含页面对象,则确定所述分页插件未开启对所述数据查询指令的分页查询功能。
16、在本申请的一些实施例中,所述根据所述判断结果确定是否执行所述数据查询指令,包括:
17、若所述分页查询功能已开启,则执行所述数据查询指令;
18、若所述分页查询功能未开启,则不执行所述数据查询指令。
19、在本申请的一些实施例中,在所述调用分页插件之前,还包括:
20、判断所述数据查询指令是否需要进行分页查询;若需要进行分页查询,则调用分页插件;若不需要进行分页查询,则不调用分页插件。
21、在本申请的一些实施例中,在根据所述判断结果确定执行所述数据查询指令之后,所述方法还包括:
22、当执行所述数据查询指令时,判断所述数据查询指令是否能够被搜索引擎服务器识别;
23、当所述数据查询指令不能被搜索引擎服务器识别时,将所述数据查询指令转换为搜索引擎服务器能够识别的查询语句。
24、第二方面,本申请提供一种分页查询装置,包括:
25、接收模块,用于接收数据查询指令,并调用分页插件;
26、判断模块,用于判断所述分页插件是否开启对所述数据查询指令的分页查询功能,得到判断结果;
27、查询模块,用于根据所述判断结果确定是否执行所述数据查询指令。
28、在本申请的一些实施例中,所述判断模块,具体用于:
29、获取预先在所述数据查询指令上设置的检查框架的注解;
30、根据所述注解调用所述检查框架对所述分页插件的分页查询功能进行检查,得到检查结果;
31、根据所述检查结果判断所述分页插件是否开启对所述数据查询指令的分页查询功能。
32、在本申请的一些实施例中,所述判断模块,具体用于:
33、获取根据数据查询指令创建的线程变量;
34、调用所述检查框架对线程变量里是否包含页面对象进行检查。
35、在本申请的一些实施例中,所述判断模块,具体用于:
36、若所述检查结果为线程变量里包含页面对象,则确定所述分页插件已开启对所述数据查询指令的分页查询功能;
37、若所述检查结果为线程变量里不包含页面对象,则确定所述分页插件未开启对所述数据查询指令的分页查询功能。
38、在本申请的一些实施例中,所述查询模块,具体用于:
39、若所述分页查询功能已开启,则执行所述数据查询指令;
40、若所述分页查询功能未开启,则不执行所述数据查询指令。
41、在本申请的一些实施例中,所述接收模块,还用于:在调用分页插件之前,判断所述数据查询指令是否需要进行分页查询;若需要进行分页查询,则调用分页插件;若不需要进行分页查询,则不调用分页插件。
42、在本申请的一些实施例中,所述查询模块还用于:
43、当执行所述数据查询指令时,判断所述数据查询指令是否能够被搜索引擎服务器识别;
44、当所述数据查询指令不能被搜索引擎服务器识别时,将所述数据查询指令转换为搜索引擎服务器能够识别的查询语句。
45、第三方面,本申请提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现本申请第一方面所述的方法。
46、本申请第四方面提供一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现本申请第一方面所述的方法。
47、相较于现有技术,本申请提供的分页查询方法、装置、设备及存储介质,接收数据查询指令,并调用分页插件;判断所述分页插件是否开启对所述数据查询指令的分页查询功能,得到判断结果;根据所述判断结果确定是否执行所述数据查询指令。本申请的技术方案,能够在分页插件执行数据查询指令之前,判断分页插件是否开启对数据查询指令的分页查询功能,也就是确认分页插件可以正常进行分页逻辑后再执行数据查询指令,能够防止查询未分页,避免了查询全部数据导致的耗费大量内存、数据过时等情况的产生。
1.一种分页查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述判断所述分页插件是否开启对所述数据查询指令的分页查询功能,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述注解调用所述检查框架对所述分页插件的分页查询功能进行检查,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述检查结果判断所述分页插件是否开启对所述数据查询指令的分页查询功能,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述判断结果确定是否执行所述数据查询指令,包括:
6.根据权利要求1所述的方法,其特征在于,在所述调用分页插件之前,还包括:
7.根据权利要求1所述的方法,其特征在于,在根据所述判断结果确定执行所述数据查询指令之后,所述方法还包括:
8.一种分页查询装置,其特征在于,包括:
9.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至7中任一项所述的方法。