mybatis/ibatis中#和$的區別
1. #將傳入的資料都當成乙個字串,會對自動傳入的資料加乙個雙引號。如:order by #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.一般能用#的就別用$.
ps:在使用mybatis中還遇到的用法,在該符號內的語句,將不會被當成字串來處理,而是直接當成sql語句,比如要執行乙個儲存過程。
最後總結一下必須使用$引用引數的情況,那就是引數的int型的時候,必須使用$引用。
MyBatis Ibatis中 和 的區別
mybatis ibatis中 和 的區別 1.將傳入的資料都當成乙個字串,會對自動傳入的資料加乙個雙引號。如 order by user id 如果傳入的值是111,那麼解析成sql時的值為order by 111 如果傳入的值是id,則解析成的sql為order by id 2.將傳入的資料直接...
MyBatis Ibatis中 和 的區別
mybatis ibatis中 和 的區別 1.將傳入的資料都當成乙個字串,會對自動傳入的資料加乙個雙引號。如 order by user id 如果傳入的值是111,那麼解析成sql時的值為order by 111 如果傳入的值是id,則解析成的sql為order by id 2.將傳入的資料直接...
MyBatis Ibatis中 和 的區別
mybatis ibatis中 和 的區別 1.將傳入的資料都當成乙個字串,會對自動傳入的資料加乙個雙引號。如 order by user id 如果傳入的值是111,那麼解析成sql時的值為order by 111 如果傳入的值是id,則解析成的sql為order by id 2.將傳入的資料直接...