Mybatis【#{}和${}的区别】
生活随笔
收集整理的這篇文章主要介紹了
Mybatis【#{}和${}的区别】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#{}和${}的區別
#{}是占位符,預編譯處理;${}是拼接符,字符串替換,沒有預編譯處理。
Mybatis在處理#{}時,#{}傳入參數是以字符串傳入,會將SQL中的#{}替換為?號,調用PreparedStatement的set方法來賦值。
Mybatis在處理時 , 是 原 值 傳 入 , 就 是 把 {}時,是原值傳入,就是把時,是原值傳入,就是把{}替換成變量的值,相當于JDBC中的Statement編譯
變量替換后,#{} 對應的變量自動加上單引號 ‘’;變量替換后,${} 對應的變量不會加上單引號 ‘’
#{} 可以有效的防止SQL注入,提高系統安全性;${} 不能防止SQL 注入
#{} 的變量替換是在DBMS 中;${} 的變量替換是在 DBMS 外
總結
以上是生活随笔為你收集整理的Mybatis【#{}和${}的区别】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis的框架架构设计是怎么样的?
- 下一篇: 18道经典MySQL面试题,祝您升职加薪