mybatis中$和#的区别
生活随笔
收集整理的這篇文章主要介紹了
mybatis中$和#的区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、$字符串拼接,# 參數(shù)站位相當(dāng)于jdbc中的?號
2、$不能夠防止sql注入,#可以防止sql注入的
3、$¥可以替換sql語句任何一個內(nèi)容,#只能替換參數(shù)
4、$如果操作字符串,需要在sql中使用單引號。 #不需要(不需要判斷數(shù)據(jù)類型,會自動轉(zhuǎn)換)($要考慮參類型 ,#不用考慮參數(shù)類型)
簡單來說#{} 解析的是占位符?可以防止SQL注入, 比如打印出來的語句 select * from table where id= ? 然而${} 作為字符串拼接來用,則是不能防止SQL注入打印出來的語句 select * from table where id=2 實實在在的參數(shù) (sql注入:通過字符串拼接達到串改sql語句的目地)
總結(jié)
以上是生活随笔為你收集整理的mybatis中$和#的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybatis高级查询
- 下一篇: Synchronize和Lock 的区别