Mybatis中 和 的區別

2021-08-02 15:49:08 字數 464 閱讀 9533

(1)#將傳入的資料都當成乙個字串,會對自動傳入的資料加乙個雙引號。如:order by #,

如果傳入的值是111,那麼解析成sql時的值為order by "111", 如果傳入的值是id,

則解析成的sql為order by "id".

(2) $將傳入的資料直接顯示生成在sql中。如:order by $,如果傳入的值是111,

那麼解析成sql時的值為order by user_id,  如果傳入的值是id,則解析成的sql為order by id.

(3) #方式能夠很大程度防止sql注入。

(4) $方式無法防止sql注入。

(5) $方式一般用於傳入資料庫物件,例如傳入表名. 

(6) 一般能用#的就別用$. 

ps:在使用mybatis中還遇到的用法,在該符號內的語句,將不會被當成字串來處理,

而是直接當成sql語句,比如要執行乙個儲存過程。

myBatis中 和 區別

1.將傳入的資料都當成乙個字串,會對自動傳入的資料加乙個雙引號。如 order by user id 如果傳入的值是111,那麼解析成sql時的值為order by 111 如果傳入的值是id,則解析成的sql為order by id 2.將傳入的資料直接顯示生成在sql中。如 order by u...

mybatis 中 和 區別

在使用mybatis 框架時 在xml的配置檔案中,通常是使用 來獲取數值的 如 select from t user inf where id 這時 如果你傳入的值為zhangsan 則會編譯成為 select from t user inf where id zhangsan mybatis 會...

Mybatis 中 和 區別

號與 區別 號表示引數,代表乙個字串。如 select a,b,c from table1 where id value 傳入引數後如 value 1 則可生成 select a,b,c from table1 where id 1 select a,b,c from table1 where ci...