作個小筆記:java
MyBatis中使用parameterType向SQL語句傳參,parameterType後的類型能夠是基本類型int,String,HashMap和java自定義類型。安全
在SQL中引用這些參數的時候,可使用兩種方式**#{parameterName}或者${parameterName},**字符串
使用#{parameterName}引用參數的時候,Mybatis會把這個參數認爲是一個字符串,例如傳入參數 是「Smith」,那麼在SQL(Select * from emp where name = #{employeeName})使用的時候就會轉換爲Select * from emp where name = 'Smith';it
同時在SQL(Select * from emp where name = ${employeeName})使用的時候就會轉換爲 Select * from emp where name = Smith。引用
再次,從安全性上考慮,能使用#儘可能使用#來傳參,由於這樣能夠有效防止SQL注入的問題。總結
最後總結一下必須使用$引用參數的狀況,eg: 那就是參數的int型的時候,必須使用$引用。注入