Mybatis中的Sql参数获取
两种方式
${} //类似于字符串拼接存在sql注入的问题
#{} //类似于占位符 -----优先考虑这个
获取参数的几种情况
注意事项:
不管是哪种情况都要注意${},因为本质是单引号如果是时间和字符串要加单引号
#####单个参数的时候:
#{} 直接使用任何名字都能够获取到 -------------建议与形参名字一致做到见名知意
${} 同上
#####多个参数的时候:
#{} 使用arg0表示第一个个 arg1表示第二个依次类推 或者使用param1表示第一个也是依次类推
${}同上
#####当参数为一个map集合的时候
#{}直接使用map集合里面的键来获取数据
${}同上
当参数为一个实体类的时候
#{}直接使用实体类对象里面的成员变量名来获取
${}同上
#####使用@Param注解
#{}在使用@Param注解的mapper接口方法形参时,指定注解的值,就可以在sql语句中使用注解的值来获取对应的参数
${}同上
总结:
使用原则,如果形参非实体类统一采用@Param注解方式