Mybatis多欄位排序解析

2022-09-23 23:42:12 字數 700 閱讀 2596

從前學習spring開發的時候寫過乙個web系統,後端採用spring+springmvc+mybatis,前端使用bootstrap和ligerui,業務資料採用ligerui的ligergrid進行展示,由於ligergrid只能支援單字段排序,有些時候業務需要進行多欄位排序,剛好也準備重新換一下前端介面效果和框架,最近剛好看了下easyui,發現easyui是可以支援多欄位排序的,就用easyui作為前端對工程進行了改造。

先放出ligergrid單字段排序的實現過程:

前端傳參(如下圖):

實體類中進行引數處理:

mapper.xml對映檔案中的**,在where語句後面加上如下語句即可:

現對上述**進行改造,公升級為可以支援多欄位排序:

首先讓前端easyui的datagrid開啟多欄位排序開關

設定multisort:true。

前端傳參如下:sort和order為多字段,分別由逗號分隔

實體類還是使用sortname和sortorder欄位進行接收,增加sortsql陣列用於mapper中拼接sql

mapper.xml中改造如下:

對sortsql列表進行遍歷,拼接多個排序語句即可。注意:一般傳參會用#的形式,此處動態拼接多欄位排序語序需要使用$,否則會在你的排序語句上增加外層單引號(s.'module_name desc')導致sql語句解析不正確。

到此為止,多欄位排序改造完畢。

linux sort 多欄位排序

linux多數發行版自帶的sort程式,非常強大,在此只說多字段排序 sort 有個引數 k,可以指定字段,有比較複雜的語法,不在文字範圍內。一下為一段資料 從基因中得到,僅僅作為demo 檔名為 data chr13 3008566 3008677 chr9 3024384 3024515 chr...

C vector多欄位排序

c 當中vector的資料型別是基本型別時,我們利用std sort很容易排序,當我們的型別是自定義的結構體,並且我們還要實現按多字段排序,我有兩種方法 1.我們通過過載operator方法來實現 本例子實現了struct中多個字段排序 cpp view plain copy include inc...

轉 多欄位排序

多欄位排序的問題其實很簡單,只要實現乙個自己的comparator就可以。例如我有乙個類 class student 然後我有乙個arraylist,新增了三個學生進去 public static void main string args 我的排序規則是,先按名字牌,如果名字一樣的,按照id來排,...