1. 程式人生 > >Mybatis 之$與#

Mybatis 之$與#

mybatis的xml檔案去寫動態sql的話,關於佔位符我們有兩種寫法,截圖如下:

                                  Select * from Table_name where Cloumn = ${value}

共同:兩者都是動態傳參

區別:$純碎的 string 替換,在動態 SQL 解析階段將會進行變數替換,也就是傳的A 後臺解析後 sql中還是A,#解析為一個 JDBC 預編譯語句(prepared statement)的引數標記符,也就是個佔位符

導致問題:$傳參會導致sql注入