作个小笔记: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型的时候,必须使用$引用。注入