@RequestParam
作用:将请求参数绑定到你控制器的方法参数上
@RequestParam(name = “id”, required = true) String userId
参数:
1、name的别名为value,value的别名为name 所以两者等同
2、required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错
3、defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false
@Param
作用:@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中(一般通过#{}的方式,${}会有sql注入的问题)
说明:
1、当你使用了使用@Param注解来声明参数时,如果使用 #{} 或 ${} 的方式都可以,当你不使用@Param注解来声明参数时,必须使用使用 #{}方式。如果使用 ${} 的方式,会报错。
2、不使用@Param注解时,最好传递 Javabean。在SQL语句里就可以直接引用JavaBean的属性,而且只能引用JavaBean存在的属性。
注:在不使用@Param注解的时候,函数的参数只能为一个,并且在查询语句取值时只能用#{},且其所属的类必须为Javabean,而使用@Param注解则可以使用多个参数,在查询语句中使用时可以使用#{}或者${}