mysql #與$的區別


1 # 與 $ 的區別

mybatis中使用ParameterType向sql語句傳參,在sql語句中引用這些參數的時候,有兩種方式:#parameterName, $parameterName。

兩者的區別:使用#parameterName方式引用參數的時候,Mybatis會把傳入的參數當成是一個字符串,自動添加雙引號。$parameterName引用參數時,不做任何處理,直接將值拼接在sql語句中。

#是一個占位符,$是拼接符。

2 如何防止sql注入

使用 # 能夠防止sql注入,$不能避免注入攻擊。

#的方式引用參數,mybatis會先對sql語句進行預編譯,然后再引用值,能夠有效防止sql注入,提高安全性。$的方式引用參數,sql語句不進行預編譯。


免責聲明!

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



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