Mybatis${param}與#{param}有什麼區別

${param}表達式主要用戶獲取配置文件數據,DAO接口中的參數信息,當 $ 出現在映射文件的 SQl 語句中時創建的不是預編譯的 SQL ,而是字符串的拼接有可能會導致 SQL 注入的問題,所以一般使用 $ 接收 DAO 參數時,這些參數一般是字段名,表名等.例如 order by {column}

#{param} 表達式主要是用戶獲取 DAO 中的參數數據,在映射文件的SQL 語句中出現 #{} 表達式,底層會創建預編譯的 SQL .性能會相對較好

${} 獲取 DAO 參數數據時,參數必須使用 @param 註解進行修飾

#{} 獲取 DAO 參數數據時,假如參數個數多於一個,可有選擇的使用@param

 

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