mybatis动态sql模糊查询方法
动态SQL可以省略很多拼接SQL的步骤,使用类似于JSTL方式。
方式1 :
<select id="queryBlogIf" resultType="blog" parameterType="map">select * from mybatis.blog where 1 = 1<if test="title!=null">and title like #{title}</if></select>
public void test02(){SqlSession sqlSession = MybatisUtils.getSqlSession();BlogMapper mapper = sqlSession.getMapper(BlogMapper.class);Map<String,String> map = new HashMap<>();map.put("title","%ring%");List<Blog> blogs = mapper.queryBlogIf(map);for (Blog blog : blogs) {System.out.println(blog);}sqlSession.close();}
但是这种方式不好的一点就是得手动添加‘%’通配符。
方式2:
<select id="queryBlogIf" resultType="blog" parameterType="map">select * from mybatis.blog where 1 = 1<if test="title!=null">and title like '%${title}%'</if></select>
#{}在字符串中不能够被识别,而${}在字符串中是可以被识别出来的,但是${}是不可以防止sql注入的。
方式3:
利用SQL函数,concat
<select id="queryBlogIf" resultType="blog" parameterType="map">select * from mybatis.blog where 1 = 1<if test="title!=null">and title like concat('%',#{title},'%')</if></select>
建议最好使用第三种方式,最为方便、安全。
mybatis动态sql模糊查询方法相关推荐
- 动态sql模糊查询和分页
文章目录 动态sql 模糊查询 查询返回结果集的处理 分页 动态sql BookMapper xml bookservice 测试: MapperSql.test 运行: 模糊查询 BookMappe ...
- 动态SQL 模糊查询 联表查询
1. 正文 1. set标签 和 foreach标签 trim标签 sql片段 2. mybatis映射文件处理特殊字符. 3. mybatis完成模糊查询. 4. 联表查询 2. 动态sql 2.1 ...
- 【MyBatis】 动态SQL——模糊查询 LIKE
一.like '%?%' SELECT * FROM t_usr WHERE name like '%${name}%' SQL解析为:SELECT * FROM t_usr WHERE name l ...
- 一个mybatis动态 SQL查询的完整小案例。包含多表联合查询。
多表联合查询 一个根据机场查询航线的例子.有两张表,机场表包含机场信息:机场id.机场名字.机场城市. 航班包含航线信息:航班id.飞机编号.飞行时间.票价.起飞机场id.降落机场id. 需要查询的结 ...
- Mybatis:动态SQL分组查询
目录 1. 实现思路 2. 代码实现 2.1 mapper 2.2 mapper 接口 2.3 Service层 AjaxResult对象 2.4 controller 2.5 测试 1. 实现 ...
- MyBatis动态SQL(认真看看, 以后写SQL就爽多了)
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:cnblogs.com/homejim/p/9909657. ...
- 认真看看, 以后写 SQL 就爽多了:MyBatis 动态 SQL:
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 阿进的写字台 来源 | cnblogs.com ...
- MyBatis动态SQL,写SQL更爽
点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:分享一套基于SpringBoot和Vue的企业级中后台开源项目,这个项目有点哇塞!个人原创100W +访问量博客: ...
- 认真看看, 以后写 SQL 就爽多了:MyBatis 动态 SQL
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多 整理 ...
最新文章
- Django 07模型层—单表操作(增删改查)
- 跨境电商自建站后台系统原型rp_Shoptago---跨境电商平台又一个新选择
- 【PM模块】维护业务处理流程—内部维护(通知单)
- android 禁用dlsym_Android 7.0 dlopen 函数分析
- P7726-天体探测仪(Astral Detector)【构造】
- 神经网络优化(二) - 滑动平均
- oracle rac 实例查询,查找RAC环境中实例间资源分配情况
- jquery html页面跳转,HTML 链接
- GitHub上最火的74个Android开源项目(三)
- Arquillian和Jboss的版本问题
- PDF不能编辑怎么办?捷速PDF编辑器快速编辑!
- usaco Raucous Rockers
- 用户增长——AARRR模型
- 搭建百万级别邮件发送平台
- SuperCollider学习笔记(一)- 振荡器(Oscillators)
- MyBatis一发入魂(一)
- 易语言编程乱码解决方案
- 2022年测试工程师高频面试题及答案【python篇】
- c++ 经典服务器开源项目 Tinywebserver的使用与配置(百度智能云服务器安装ubuntu18.04可用公网ip访问)
- 远程桌面 域计算机,在AD中实现仅普通域用户可通过远程桌面控制自身计算机