为了账号安全,请及时绑定邮箱和手机立即绑定

sql查询时怎么查询带通配符的如_,% ?前提sql是ibait 写好的怎么处理参数?

sql查询时怎么查询带通配符的如_,% ?前提sql是ibait 写好的怎么处理参数?

慕莱坞4561140 2018-01-27 18:38:07
查看完整描述

1 回答

?
不偏不易

TA贡献96条经验 获得超118个赞

mybatis 注解方式,mysql数据库

(用Mapper.xml配置方式的,请自行百度)

dao

@Select("SELECT * FROM USER WHERE name like '%${name}%'")
List<User> getByName(@Param("name") String name);

注意,这里是${}  ,如果用#{}将会把%_当作通配符而出错。

如果有兴趣具体请自行百度,$和#的差别,以及SQL注入相关。这里仅为完成查询%_,不做实际生产考虑。

controller

List<User> user = userService.getByName("\\%\\_");

用\\转义,如果是前台传来的值,那么还要写一个方法,把所有%和_都加上转义符号。

实际查询的时候即

SELECT * FROM USER WHERE name like '%\%\_%'

这样就能把所有name中含有%_的都查出来了。

查看完整回答
反对 回复 2018-01-29
  • 1 回答
  • 0 关注
  • 941 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信