mybatis實(shí)現(xiàn)動(dòng)態(tài)升降序的問(wèn)題小結(jié)
問(wèn)題
最近有一個(gè)需求,需要前端告訴后端按照某個(gè)字段進(jìn)行排序。這里主要側(cè)重mybatis的xml實(shí)現(xiàn),其他Spring集成就忽略了。
mapper xml實(shí)現(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>
注意,這里使用的是$
而不是使用#
,如果使用#
語(yǔ)法mybatis拼接出來(lái)Order by子句不符合sql語(yǔ)法。只能使用$
語(yǔ)法引用變量。這里還需要在java代碼里面做一些防注入處理。類似如下:
String validatedSortOrder = "DESC".equalsIgnoreCase(sortOrder) ? "DESC" : "ASC";
后面使用validatedSortOrder變量的數(shù)據(jù)傳給mybatis就可以了。
到此這篇關(guān)于mybatis里面實(shí)現(xiàn)動(dòng)態(tài)升降序的文章就介紹到這了,更多相關(guān)mybatis升降序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
快速校驗(yàn)實(shí)體類時(shí),@Valid,@Validated,@NotNull注解無(wú)效的解決
這篇文章主要介紹了快速校驗(yàn)實(shí)體類時(shí),@Valid,@Validated,@NotNull注解無(wú)效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10基于@Valid和@Validated驗(yàn)證List集合的踩坑記錄
這篇文章主要介紹了基于@Valid和@Validated驗(yàn)證List集合的踩坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07ssm項(xiàng)目session使用及其作用域問(wèn)題
這篇文章主要介紹了ssm項(xiàng)目session使用及其作用域問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03