mybatis中傳遞參數時,會加上單引號


1) 使用#{參數}傳入會加上單引號,sql語句解析是會加上"",

比如  select * from table where name = #{name} ,傳入的name為小李,那么最后打印出來的就是

 select * from table where name = ‘小李’,就是會當成字符串來解析,這樣相比於$的好處是比較明顯對的吧,#{}傳參能防止sql注入,如果你傳入的參數為 單引號',那么如果使用${},這種方式 那么是會報錯的,

2)${}

另外一種場景是,如果你要做動態的排序,比如  order by   column,這個時候務必要用${},

因為如果你使用了#{},那么打印出來的將會是  select * from table order by  'name'  ,這樣是沒用,


免責聲明!

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



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