key map 模糊查找_【Mybatis】07 万用Map & 模糊查询细节

这应该算一个补充点

在尚硅谷的Java笔记资料有专门的一起万用Map讲解

参考自:https://www.bilibili.com/video/BV1NE411Q7Nx?p=5

万用Map

我们可以使用Map作为SQL参数注入的一个特殊手段

对应的Mapper可以这么写:

参数类型是Map,不要忘记Mybatis官方说的Java常用类型的别名,

虽然写Map也会识别,但是尽量按官方说的标准来使用,这是一种约定

SQL注入的参数标识符可以随意定义,只要我们在Map容器中的key要一一对应即可

实际开发并不推荐使用Map作为SQL注入的手段,这样的开发不规范,后续的维护很困难

如果必须使用,一定要备注键名对应说明

测试结果成功

@Testpublic voidmapTest(){

SqlSession sqlSession= MybatisUtil.getSqlSession(true);

System.out.println(sqlSession);

UserMapper mapper= sqlSession.getMapper(UserMapper.class);

Map map = new HashMap();

map.put("name","哈吉咩");

map.put("password","335577");int add =mapper.addUserByMap(map);

System.out.println(add);

sqlSession.close();

}

模糊查询要注意的实现细节

案例,使用模糊查询

配置SQL

因为在核心配置中设置了包扫描别名和注解别名,根据官方的描述

注解别名会优先配置的包别名,这里的实体类使用注解的别名

Like 一般要配合通配符 % or _ 一起使用,这里不写死的话,就要在注入的时候写进String

忘了Like怎么写?翻回我自己写的笔记

查询时我们就要这样编写

为了防止SQL注入攻击,我们不应该这样写模糊SQL的注入,这个注入是危险的

所以就像刚开始提到的一样,应该写死在Mapper配置的SQL标签中

这个百分号必须使用双引号修饰,单引都不行【另外注入值不要空格分开】

测试结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值