MyBatis Mapper.xml文件中 MySql的SQL語句比較大小

&lt;       <   小於號
&gt;      >  大於號
&amp;     &
&apos;     ’ 單引號
&quot;     "  雙引號

 

 

 

 

 

 

 

 

 

 

 

MyBatis 中的 # 和 $ 的區別如下:

 

  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.一般能用#的就別用$.

   MyBatis排序時使用order by 動態參數時需要注意,用$而不是#

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