1. 程式人生 > >Java框架之Mybatis中佔位符 # 和 $ 的區別是什麼?

Java框架之Mybatis中佔位符 # 和 $ 的區別是什麼?

佔位符 # 和 $ 的區別

  1. /# 符號存在預編譯的過程,對問號賦值,防止 SQL 注入。它將傳入的資料都當成一個字串,會對自動傳入的資料加一個雙引號

  2. /$ 沒有預編譯過程,將傳入的資料直接顯示生成 SQL 中

  3. /$ 符號是直譯的方式,一般用在 order by S{列名} 語句中

**總結:**使用 /$ 佔位符可能會導致SQL注入攻擊,能用 #/ 號就不要用 $ 符號