mybatis實現(xiàn)動態(tài)升降序的問題小結(jié)
問題
最近有一個需求,需要前端告訴后端按照某個字段進(jìn)行排序。這里主要側(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就可以了。
到此這篇關(guān)于mybatis里面實現(xiàn)動態(tài)升降序的文章就介紹到這了,更多相關(guān)mybatis升降序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
快速校驗實體類時,@Valid,@Validated,@NotNull注解無效的解決
這篇文章主要介紹了快速校驗實體類時,@Valid,@Validated,@NotNull注解無效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
基于@Valid和@Validated驗證List集合的踩坑記錄
這篇文章主要介紹了基于@Valid和@Validated驗證List集合的踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07

