SpringMVC + Spring + MyBatis 學習筆記:遭遇order by 排序問題


系統:WIN8.1

數據庫:Oracle 11GR2

開發工具:MyEclipse 8.6

框架:Spring3.2.9、SpringMVC3.2.9、MyBatis3.2.8


 

用MyBatis寫排序的時候字段很多,於是想當然的就把需要排序的字段用String類型扔到了配置文件里面。但是卻沒有起到效果。后來查閱資料,發現應該使用$符號。

 

  • #符號將傳入的數據都當做一個字符串,會對數據增加一個引號,如 order by #userid# , userid對應的值是10001,解析后就是 order by '10001' 。
  • $符號將傳入的數據直接顯示在sql中。如 order by $userid$ , userid對應的值是10001,解析后結果為 order by userid。

#可以最大程度防止sql注入,$則無法防止sql的注入,一般課可以傳入數據庫對象,比如表明或者字段名稱。使用的時候需要注意。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM