1. 程式人生 > >mybatis排序

mybatis排序

order sql 如果 ati 雙引號 myba mybatis images 使用

排序的時候#和$的分別

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 動態參數時需要註意,用$而不是#

技術分享

mybatis排序