
mybatis中like的注意
发布日期:2021-05-08 13:40:07
浏览次数:7
分类:原创文章
本文共 695 字,大约阅读时间需要 2 分钟。
<!--concat Mysql和 Oracle区别 ,不存在sql注入--> <select id="findUserByLikeName" parameterType="java.lang.String" resultMap="user"> select * from t_user where name like concat('%',#{name,jdbcType=VARCHAR},'%') </select>这样写查询不到特殊字符(如单独的%、/)或者带有特定特殊字符的字符串比如,我们要搜索一个字符串"小汉_",如果直接like "小汉_",那么"_"的作用就是通配符,而不是字符,结果,我们会查到比如"小汉a","小汉b","小汉c",而不是我们需要的 "小汉_". 用LIKE '小汉/_' ESCAPE '/' '/'表示特殊用法标志。 就会搜索‘小汉_’了。使用ESCAPE解决这个问题<select id="findUserByLikeNamei" parameterType="java.lang.String" resultMap="user">select * from t_user where name like concat('%',#{name,jdbcType=VARCHAR},'%') ESCAPE '/'</select>
List test1 = userMapper.findUserByLikeName4("/" +name);
对查询的关键字进行的这种处理在代码中可以使用拦截器或者AOP等技术统一处理。
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年03月22日 10时36分40秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
选择性估算器绕过行安全策略漏洞
2019-03-05
PostgreSQL中的触发器
2019-03-05
对PostgreSQL数据库结构的宏观理解
2019-03-05
Postgresql 日期和时间类型
2019-03-05
xmin、xmax、cmin、cmax
2019-03-05
查询某表格上次进行vacuum的时间
2019-03-05
invalid byte sequence for encoding
2019-03-05
Highgo Database故障收集脚本
2019-03-05
failed to initialize the database
2019-03-05
invalid byte sequence for encoding
2019-03-05
银河麒麟系统配置apt网络源
2019-03-05
第七周 4.12-4.18
2019-03-05
程序设计入门14 结构体
2019-03-05
程序设计基础75 tips 广度搜索细节问题
2019-03-05
笨办法学python之数据类型
2019-03-05
笨办法学Python之将对象名的字符串类型,转化成相应对象
2019-03-05
ArduPilot源码极速下载手册(一文告别github慢速问题)
2019-03-05
聊一聊那些应该了解的大佬(飞控,人工智能方向)
2019-03-05
ArduPilot+mavros+gazebo+QGC联合仿真初体验
2019-03-05
px4调试bug--添加mavlink_log_info信息
2019-03-05