mybatis传递参数
mybatis传递参数
一个参数时
-
#占位符
使用方法#{username}
,username可以为任意字符,只与传递过来的参数有关 -
$拼接
使用方法为'${uername}'
需要加单引号,而且username可以是任意名称
两个参数时
-
mybatis会将参数放在map集合中进行存储
-
以arg或者param为键,以参数为值
-
arg1,arg2,param1,param2,arg和param可以混合使用
-
只需要通过
#{}
,${}
的方式访问值即可
有多个参数时
- 可以自己设置map
- 使用方法同两个参数时
参数为实体类时
- 通过属性名访问属性值,属性名不一定是成员变量
- 属性名是get和set方法名中的get和set去调用,把剩余部分的首字母变为小写的结果,就是我们当前的属性名
使用@Param注解命名参数
-
在mapper接口函数时使用,加在参数前面
-
例如:
User checkLoginByParam(@Param("username") String username, @Param("password") String password)
-
mybatis会自动生成map
-
以@Param注解的值为键,以参数为值
-
注解之后arg参数就变为注解的值
使用最多的为实体类和@Param类型