1.#將傳入的資料都當成一個字串,會對自動傳入的資料加一個雙引號。
2.$將傳入的資料直接顯示生成在sql中。
MyBatis啟用了預編譯功能,在SQL執行前,會先將上面的SQL發送給資料庫進行編譯;執行時,直接使用編譯好的SQL,替換占位符“?”就可以了。因為SQL注入只能對編譯程序起作用,所以這樣的方式就很好地避免了SQL注入的問題。
uj5u.com熱心網友回復:
$是將引數直接傳入sql陳述句中,而#是將引數加上雙引號傳入sql陳述句。#是可以防止sql注入的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/236287.html
標籤:Web 開發
上一篇:recator的Mono與CompletableFuture轉換為什么會阻塞?
下一篇:C++基礎知識篇:C++ 字串
