簡單說
#{}是經過預編譯的,是安全的
${}是未經過預編譯的,僅僅是取變量的值,是非安全的,存在sql注入.
在mapper文件中如果使用
ORDER BY #{columnName}
會導致最后sql語句 參數 多加 引號,例如
select * from test order by 'update_time';
要這樣使用
ORDER BY ${columnName}
但是注意這會導致潛在的SQL注入攻擊,因此你需要自行轉義並檢查
簡單說
#{}是經過預編譯的,是安全的
${}是未經過預編譯的,僅僅是取變量的值,是非安全的,存在sql注入.
在mapper文件中如果使用
ORDER BY #{columnName}
會導致最后sql語句 參數 多加 引號,例如
select * from test order by 'update_time';
要這樣使用
ORDER BY ${columnName}
但是注意這會導致潛在的SQL注入攻擊,因此你需要自行轉義並檢查
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。