mybatis同一个搜索框对多个字段进行模糊查询
来源:互联网 发布:谷歌人工智能失控 编辑:程序博客网 时间:2024/06/08 07:02
需求:一个搜索框同时对userId和title进行模糊查询。
第一次:
<where> <if test="disId!=null and disId != '' " > and DIS_ID = #{disId} </if> <if test="category!=null" > and CATEGORY = #{category} </if> <if test="userId!=null" > and USER_ID like CONCAT('%',#{userId},'%' ) </if> <if test="userType!=null" > and USER_TYPE = #{userType} </if> <if test="title!=null" > and TITLE like CONCAT('%',#{title},'%' ) </if> </where>
![日志里的SQL是这样的](http://img.blog.csdn.net/20160707230448959)这种方式查询时,日志里的SQL如上所示,会导致对2个字段进行AND查询,只有都具有相同关键字时才可以被查出来。*
第二次:
*
<trim prefix="where" prefixOverrides="and \ or"> <if test="disId!=null and disId != '' " > and DIS_ID = #{disId} </if> <if test="category!=null" > and CATEGORY = #{category} </if> <if test="userId!=null" > and USER_ID like CONCAT('%',#{userId},'%' ) </if> <if test="userType!=null" > and USER_TYPE = #{userType} </if> <if test="title!=null" > and TITLE like CONCAT('%',#{title},'%' ) </if> </trim> </select>
在日志中会出现如上图所示的错误,很明显,userId字段前多了“and”,TITLE前应该为“or”。
第三次:
“
`from QUESTION <trim prefix="where" prefixOverrides="and \ or"> <if test="disId!=null and disId != '' " > DIS_ID = #{disId} </if> <if test="category!=null" > CATEGORY = #{category} </if> <if test="userId!=null" > USER_ID like CONCAT('%',#{userId},'%' ) </if> <if test="userType!=null" > USER_TYPE = #{userType} </if> <if test="title!=null" > or TITLE like CONCAT('%',#{title},'%' ) </if> </trim> </select>
trim标签中不要条件字段,只在 第一个以后的字段前加“or”即可。
好了!
1 0
- mybatis同一个搜索框对多个字段进行模糊查询
- mybatis同一个搜索框对多个字段进行模糊查询
- Mybatis 一个搜索框对多个字段进行模糊查询
- mysql对数据库多个字段同时进行模糊查询
- 对于Sql模糊查询的话,需要对多个字段进行模糊查询的解决办法
- Mybatis多个字段模糊匹配同一个值
- JPA对多个字段模糊查询
- oracle对number类型字段进行模糊查询
- sql查询 同一个字段 同时满足多个条件
- sql查询 同一个字段 同时满足多个条件
- mysql涉及多个字段的模糊查询
- MySQL数据库一个字段对应多个值得模糊查询
- hibernate对数值型字段模糊查询
- Mybatis用like进行模糊查询问题
- 对一个字段中的多个其他表的主键进行查询
- 对Dgrid表格进行模糊搜索
- ios 学习之 NSPredicate 模糊、精确、查询 ,包括模糊搜索,多条件搜索,及属性中多个字段检索
- 数据库模糊查询时,一个字段对应多个模糊值的思路
- JAVA多线程之Runnable和Thread比较
- Unity如何获取鼠标当前帧和上一帧的屏幕坐标差
- 再谈makefile指定头文件和库出错的那点破事(折腾了0.5小时)------三个月后发现了真正原因
- SCU2016-02 S题 区间二分
- 常用的adb命令
- mybatis同一个搜索框对多个字段进行模糊查询
- NSUserdefaults
- notepad++ 全选长度和内存的长度不一样
- 整合百度sdk遇到问题
- unity如何获取安卓手机通讯录?
- Android RecyclerView 实现快速滑动
- Linux SSH 登录其他机器
- Hadoop之——MapReduce Job的几种启动方式(杂记)
- 五子棋小项目的总结