1. 程式人生 > >MyBatis 中 $ 與 # 有什麼區別

MyBatis 中 $ 與 # 有什麼區別

MyBatis 中$與#有什麼不同
a) 應用場景不同
${}表示式主要使用者獲取配置檔案資料,DAO介面中的引數資訊,當 $ 出現在對映檔案的 SQl 語句中時建立的不是預編譯的 SQL ,而是字串的拼接有可能會導致 SQL 注入的問題,所以一般使用 $ 接收 DAO 引數時,這些引數一般是欄位名,表名等.例如 order by {column}
#{} 表示式主要是使用者獲取 DAO 中的引數資料,在對映檔案的SQL 語句中出現 #{} 表示式,底層會建立預編譯的 SQL .效能會相對較好
${} 獲取 DAO 引數資料時,引數必須使用 @param

註解進行修飾
#{} 獲取 DAO 引數資料時,假如引數個數多於一個,可有選擇的使用@param