#和$的區別

MyBatis和Ibatis中
1、# 將傳入的數據都當成一個字符串,會對自動傳入的數據加一個雙引號。如:order by #user_id#,如果傳入的值是user_id,則解析成的sql爲order by “user_id”.
2、 sqlorderby user_id,如果傳入的值是101,那麼解析成sql時的值爲order by user_id,  如果傳入的值是id,則解析成的sql爲order by id.  
3、 #方式能夠很大程度防止sql注入;
方式無法防止Sql注入。
4、$方式一般用於傳入數據庫對象,例如傳入表名.
tips:在使用mybatis中還遇到<![CDATA[]]>的用法,在該符號內的語句,將不會被當成字符串來處理,而是直接當成sql語句,比如要執行一個存儲過程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章