問題描述:
處理簡單分頁時,發(fā)現(xiàn)從外部傳入的排序條件無法生效,但程序無報錯,正常返回列表,只是排序條件不對;
原因:
#{}表示一個占位符,當(dāng)#{}傳入的數(shù)據(jù)是一個字符串時,會自動將傳入的數(shù)據(jù)加一個雙引號。
解決方法:
使用${}將傳入的數(shù)據(jù)直接顯示生成在sql中;
1、當(dāng)查詢語句使用#{},例如傳入"update_date desc"排序條件,生成語句如下
select id, title, name, status, create_by,create_date,update_by,update_date from table
WHERE status = 1 order by "update_date desc"
2、使用${}生成語句是:文章來源:http://www.zghlxwxcb.cn/news/detail-795716.html
select id, title, name, status, create_by,create_date,update_by,update_date from table
WHERE status = 1 order by update_date desc
3、推薦文章
Mybatis中${}和#{}的區(qū)別:https://blog.csdn.net/BBQ__ZXB/article/details/127089187文章來源地址http://www.zghlxwxcb.cn/news/detail-795716.html
到了這里,關(guān)于Mybatis xml中排序(order by)條件用#{}查詢失敗的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!