DB_MyBatis获取参数的用法
MyBatis 获取参数值
mybatis获取参数值的两种方式
- MyBatis获取参数值的两种方式:${}和#{}
- ${}的本质就是字符串拼接,#{}的本质就是占位符赋值
单个参数
- ${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;
1 | <!--User getUserByUsername(String username);--> |
- 但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号
1 | <!--User getUserByUsername(String username);--> |
多个参数
若mapper接口中的方法参数为多个时,此时MyBatis会自动将这些参数放在一个map集合中
相当于是一个map键值对,arg0是索引,{arg0}相当于是mapper接口传过来的参数
- 以arg0,arg1…为键,以参数为值;
- 以param1,param2…为键,以参数为值;
使用arg或者param都行,要注意的是,arg是从arg0开始的,param是从param1开始的
1 | <!--User checkLogin(String username,String password);--> |
1 | <!--User checkLogin(String username,String password);--> |
map集合类型的参数
- 上述方式显然可读性不强
- 因此,我们可以手动创建map键值对,
- 将要传递的参数封装成map传递过去
1 | <!--User find(Map<String,Object> map);--> |
1 |
|
实体类类型的参数
1 | <!--int insertUser(User user);--> |
1 | //No.5 |
使用@Param标识参数
1 | <!--User CheckLoginByParam(@Param("user") String username, @Param("pass") String password);--> |
1 | mapper.insertUser("admin","123456"); |
总结
- 实体类类型的参数
- 使用@Param标识参数
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jackson Zhang!
评论
ValineDisqus