mybatis實現(xiàn)動態(tài)升降序的問題小結(jié)
問題
最近有一個需求,需要前端告訴后端按照某個字段進行排序。這里主要側(cè)重mybatis的xml實現(xiàn),其他Spring集成就忽略了。
mapper xml實現(xiàn)
<if test="sortField != null and sortField != ''"> ORDER BY <choose> <when test="sortField == 'perCapitaEffectivePoints'"> per_capita_effective_points ${sortOrder} </when> <when test="sortField == 'perCapitaCumulativePoints'"> per_capita_cumulative_points ${sortOrder} </when> <otherwise> dept_name </otherwise> </choose> </if>
注意,這里使用的是$
而不是使用#
,如果使用#
語法mybatis拼接出來Order by子句不符合sql語法。只能使用$
語法引用變量。這里還需要在java代碼里面做一些防注入處理。類似如下:
String validatedSortOrder = "DESC".equalsIgnoreCase(sortOrder) ? "DESC" : "ASC";
后面使用validatedSortOrder變量的數(shù)據(jù)傳給mybatis就可以了。
到此這篇關于mybatis里面實現(xiàn)動態(tài)升降序的文章就介紹到這了,更多相關mybatis升降序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
快速校驗實體類時,@Valid,@Validated,@NotNull注解無效的解決
這篇文章主要介紹了快速校驗實體類時,@Valid,@Validated,@NotNull注解無效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10基于@Valid和@Validated驗證List集合的踩坑記錄
這篇文章主要介紹了基于@Valid和@Validated驗證List集合的踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07