Mybatis中#{}和${}的區別是什麼?

  1. #{}是佔位符,通過預編譯處理;${}是拼接符,通過字符串替換,非預編譯處理。

  2. #{}可以放置SQL注入攻擊;${}不能防止SQL注入攻擊

  3. Mybatis會將SQL中的#{}替換爲?,並通過PreparedStatement的set方法進行賦值;但Mybatis會直接將${}替換爲變量的值,相當於使用的是Statement方式進行編譯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章