本申請涉及數(shù)據處理,尤其涉及一種針對頁面中表單數(shù)據的分頁排序方法、裝置、設備及介質。
背景技術:
1、用戶訪問系統(tǒng)頁面時,因系統(tǒng)中的某些表單數(shù)據量較大,或者業(yè)務需要,用戶希望通過排序將頁面信息重新組織,以便于業(yè)務操作、統(tǒng)計或對比,因此,在后臺處理上需要為其開發(fā)排序功能。
2、在系統(tǒng)實際開發(fā)過程中,發(fā)現(xiàn)常用的mybatis自帶的分頁插件pagehelper的排序方法orderby不能靈活處理多種數(shù)據類型,簡而言之,對于處理對象類型,有與原生方法不一致的場景。mybatis自帶的分頁插件pagehelper的排序方法,即orderby函數(shù),僅針對string類型的參數(shù),即排序字段名,對定義的page類對象做排序處理,不能直接處理json、map等數(shù)據格式,方法上不太靈活。
3、因此,亟需一種針對頁面中表單數(shù)據的分頁排序方法,能夠針對多種數(shù)據類型的表單數(shù)據進行分頁排序。
技術實現(xiàn)思路
1、本申請?zhí)峁┝艘环N針對頁面中表單數(shù)據的分頁排序方法、裝置、設備及介質,用于針對多種數(shù)據類型的表單數(shù)據進行分頁排序。
2、第一方面,本申請?zhí)峁┝艘环N針對頁面中表單數(shù)據的分頁排序方法,所述方法包括:
3、接收前端基于用戶觸發(fā)的分頁排序請求;所述分頁排序請求中包含有表單數(shù)據及排序指令;所述排序指令用于指示待排序字段及排序方式;
4、若所述表單數(shù)據中具有非字符串類型的數(shù)據,則將所述非字符串類型的數(shù)據轉換為鍵值對類型的數(shù)據,并基于所述分頁排序請求,確定分頁信息;
5、基于所述分頁信息、所述表單數(shù)據和所述排序指令,構建數(shù)據庫查詢請求;
6、通過所述數(shù)據庫查詢請求,按照所述表單數(shù)據對應的數(shù)據類型對所述表單數(shù)據進行分頁排序,并反饋所述表單數(shù)據的分頁排序結果。
7、在一種可能的實施方式中,所述若所述表單數(shù)據中具有非字符串類型的數(shù)據,則將所述非字符串類型的數(shù)據轉換為鍵值對類型的數(shù)據,包括:
8、通過繼承父類resolveargument方法,將所述表單數(shù)據中非字符串類型的數(shù)據轉換為鍵值對類型的數(shù)據。
9、在一種可能的實施方式中,所述構建數(shù)據庫查詢請求之前,還包括:
10、提取所述分頁排序請求的參數(shù)信息并以鍵值對類型進行存儲。
11、在一種可能的實施方式中,所述基于所述分頁排序請求,確定分頁信息,包括:
12、根據所述分頁排序請求的參數(shù)信息,確定所述表單數(shù)據中鍵值對類型的數(shù)據和/或字符串類型的數(shù)據對應的分頁信息;所述分頁信息包括頁數(shù)、頁容量、總記錄及總頁數(shù)。
13、在一種可能的實施方式中,所述方法還包括:
14、若所述表單數(shù)據中均為字符串類型的數(shù)據,則將所述表單數(shù)據通過數(shù)據庫查詢語句進行分頁排序。
15、在一種可能的實施方式中,所述通過所述數(shù)據庫查詢請求,按照所述表單數(shù)據對應的數(shù)據類型對所述表單數(shù)據進行分頁排序,包括:
16、確定所述數(shù)據庫查詢請求中待排序字段的排序方式是否為空;
17、若待排序字段的排序方式為空,則按照所述表單數(shù)據對應的數(shù)據類型,對所述表單數(shù)據以默認的排序方式進行分頁排序;和/或
18、確定所述數(shù)據庫查詢請求中待排序字段是否為空;
19、若待排序字段為空,則按照所述表單數(shù)據對應的數(shù)據類型,對所述表單數(shù)據以默認的排序字段進行分頁排序。
20、第二方面,本申請?zhí)峁┝艘环N針對頁面中表單數(shù)據的分頁排序裝置,所述裝置包括:
21、接收模塊,用于接收前端基于用戶觸發(fā)的分頁排序請求;所述分頁排序請求中包含有表單數(shù)據及排序指令;所述排序指令用于指示待排序字段及排序方式;
22、排序模塊,用于若所述表單數(shù)據中具有非字符串類型的數(shù)據,則將所述非字符串類型的數(shù)據轉換為鍵值對類型的數(shù)據,并基于所述分頁排序請求,確定分頁信息;基于所述分頁信息、所述表單數(shù)據和所述排序指令,構建數(shù)據庫查詢請求;通過所述數(shù)據庫查詢請求,按照所述表單數(shù)據對應的數(shù)據類型對所述表單數(shù)據進行分頁排序,并反饋所述表單數(shù)據的分頁排序結果。
23、在一種可能的實施方式中,所述排序模塊,具體用于通過繼承父類resolveargument方法,將所述表單數(shù)據中非字符串類型的數(shù)據轉換為鍵值對類型的數(shù)據。
24、在一種可能的實施方式中,所述排序模塊,還用于提取所述分頁排序請求的參數(shù)信息并以鍵值對類型進行存儲。
25、在一種可能的實施方式中,所述排序模塊,具體用于根據所述分頁排序請求的參數(shù)信息,確定所述表單數(shù)據中鍵值對類型的數(shù)據和/或字符串類型的數(shù)據對應的分頁信息;所述分頁信息包括頁數(shù)、頁容量、總記錄及總頁數(shù)。
26、在一種可能的實施方式中,所述排序模塊,還用于若所述表單數(shù)據中均為字符串類型的數(shù)據,則將所述表單數(shù)據通過數(shù)據庫查詢語句進行分頁排序。
27、在一種可能的實施方式中,所述排序模塊,具體用于確定所述數(shù)據庫查詢請求中待排序字段的排序方式是否為空;若待排序字段的排序方式為空,則按照所述表單數(shù)據對應的數(shù)據類型,對所述表單數(shù)據以默認的排序方式進行分頁排序;和/或確定所述數(shù)據庫查詢請求中待排序字段是否為空;若待排序字段為空,則按照所述表單數(shù)據對應的數(shù)據類型,對所述表單數(shù)據以默認的排序字段進行分頁排序。
28、第三方面,本申請?zhí)峁┝艘环N電子設備,所述電子設備至少包括處理器和存儲器,所述處理器用于執(zhí)行存儲器中存儲的計算機程序時實現(xiàn)如第一方面任一所述方法的步驟。
29、第四方面,本申請?zhí)峁┝艘环N計算機可讀存儲介質,其存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如第一方面任一所述方法的步驟。
30、第五方面,本申請?zhí)峁┝艘环N計算機程序產品,所述計算機程序產品包括:計算機程序代碼,當所述計算機程序代碼在計算機上運行時,使得計算機執(zhí)行如第一方面任一所述方法的步驟。
31、在本申請實施例中,接收前端基于用于觸發(fā)的分頁排序請求,該分頁排序請求中包含有表單數(shù)據及排序指令,該排序指令用于指示待排序字段及排序方式;若表單數(shù)據中具有非字符串類型的數(shù)據,則將非字符串類型的數(shù)據轉換為鍵值對類型的數(shù)據,以適應多種數(shù)據的分頁排序,并基于分頁排序請求,確定分頁信息;基于分頁信息、表單數(shù)據和排序指令,構建數(shù)據庫查詢請求,通過數(shù)據庫查詢請求,按照表單數(shù)據對應的數(shù)據類型對表單數(shù)據進行排序,從而能夠針對多種數(shù)據類型的表單數(shù)據進行分頁排序。
1.一種針對頁面中表單數(shù)據的分頁排序方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述若所述表單數(shù)據中具有非字符串類型的數(shù)據,則將所述非字符串類型的數(shù)據轉換為鍵值對類型的數(shù)據,包括:
3.根據權利要求1所述的方法,其特征在于,所述構建數(shù)據庫查詢請求之前,還包括:
4.根據權利要求3所述的方法,其特征在于,所述基于所述分頁排序請求,確定分頁信息,包括:
5.根據權利要求1至4任一項所述的方法,其特征在于,所述方法還包括:
6.根據權利要求1至4任一項所述的方法,其特征在于,所述通過所述數(shù)據庫查詢請求,按照所述表單數(shù)據對應的數(shù)據類型對所述表單數(shù)據進行分頁排序,包括:
7.一種針對頁面中表單數(shù)據的分頁排序裝置,其特征在于,所述裝置包括:
8.一種電子設備,其特征在于,包括:
9.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序包括程序指令,所述程序指令當被計算機執(zhí)行時,使所述計算機執(zhí)行如權利要求1-6中任一項所述的方法。
10.一種計算機程序產品,其特征在于,所述計算機程序產品包括:計算機程序代碼,當所述計算機程序代碼在計算機上運行時,使得計算機執(zhí)行上述如權利要求1-6中任一項所述的方法。