mybatis 和 的區別

2021-09-02 15:58:04 字數 514 閱讀 9174

[size=x-large]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語句,比如要執行乙個儲存過程。

[/size]

引用自:[url]

myBatis 和 的區別

輸入引數parametertype 型別為簡單型別 8個基本型別 string 識別符號只能是value 會自動轉換型別 string型別的會 自動加 單引號 適用用於賦值 例子 update students set name stuno where id insert into students...

mybatis 和 的區別

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

mybatis 和 的區別

他們之間的區別用最直接的話來說就是 相當於對資料 加上 雙引號,相當於直接顯示資料。1 對傳入的引數視為字串,也就是它會預編譯,select from user where name 比如我傳乙個csdn,那麼傳過來就是 select from user where name csdn 2 將不會將...