1,#將傳入的資料都當成乙個字元竄,會對自動傳入的資料加乙個雙引號,如;order bt #user)id# ,如果傳入的值是111那麼解析成sql時的值是order by "111",如果傳入的知識id,則解析成的sql為 order by 「「id」;
2,$將傳入的資料直接顯示生成在sql中,如;order by $user_id$,如果傳入的值是111,那麼解析成sql的值為order by user_id,如果傳入的知識id,則解析成的sql為order by id;
3,#方式能夠很大程度防止sql注入
4,$方式無法防止sql注入
5,$方式一般用於傳入資料庫物件,例如傳入表名
6,一般能用#的就別用$
注;mybatis排序時使用order by動態引數是需要注意,用$而不是#
mybatis中的 和 的區別
1.將傳入的資料都當成乙個字串,會對自動傳入的資料加乙個雙引號。如 order by user id 如果傳入的值是111,那麼解析成sql時的值為order by 111 如果傳入的值是id,則解析成的sql為order by id 2.將傳入的資料直接顯示生成在sql中。如 order by u...
mybatis中的 和 的區別
相當於對資料 加上 雙引號,相當於直接顯示資料 1.將傳入的資料都當成乙個字串,會對自動傳入的資料加乙個雙引號。如 order by user id 如果傳入的值是111,那麼解析成sql時的值為order by 111 如果傳入的值是id,則解析成的sql為order by id 2.將傳入的資料...
mybatis中的 和 的區別
1.將傳入的資料都當成乙個字串,會對自動傳入的資料加乙個雙引號。如 order by user id 如果傳入的值是111,那麼解析成sql時的值為order by 111 如果傳入的值是id,則解析成的sql為order by id 2.將傳入的資料直接顯示生成在sql中。如 order by u...