【數據庫框架】mybatis使用order by 動態參數及#{}和${}的區別


簡單說

#{}是經過預編譯的,是安全的

${}是未經過預編譯的,僅僅是取變量的值,是非安全的,存在sql注入.

在mapper文件中如果使用

ORDER BY #{columnName}

會導致最后sql語句 參數 多加 引號,例如

select * from test order by 'update_time';

要這樣使用

ORDER BY ${columnName}

但是注意這會導致潛在的SQL注入攻擊,因此你需要自行轉義並檢查


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM