MyBatis 中 $ 與 # 有什麼區別

MyBatis 中$與#有什麼不同
a) 應用場景不同
${}表達式主要用戶獲取配置文件數據,DAO接口中的參數信息,當 $ 出現在映射文件的 SQl 語句中時創建的不是預編譯的 SQL ,而是字符串的拼接有可能會導致 SQL 注入的問題,所以一般使用 $ 接收 DAO 參數時,這些參數一般是字段名,表名等.例如 order by {column}
#{} 表達式主要是用戶獲取 DAO 中的參數數據,在映射文件的SQL 語句中出現 #{} 表達式,底層會創建預編譯的 SQL .性能會相對較好
${} 獲取 DAO 參數數據時,參數必須使用 @param 註解進行修飾
#{} 獲取 DAO 參數數據時,假如參數個數多於一個,可有選擇的使用@param

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