mybatis同一个搜索框对多个字段进行模糊查询
需求:一个搜索框同时对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是这样的](https://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”即可。
好了!
mybatis同一个搜索框对多个字段进行模糊查询相关推荐
- html搜索框 模糊搜索,前端js模糊搜索(模糊查询)
1.html结构: /*查询结果放ul里面*/ 2.css样式: #searchShop { line-height: 28px; text-indent: 5px; width: 180px; fl ...
- Elasticsearch 字段可以模糊查询也可完全匹配查询(实例)
需求: 比如创建用户, 需要判断name是否重复后, 没有重复才插入数据, 创建好之后又需要模糊查询用户昵称name. 这时候name字段类型就需要具备分词并且可完全匹配搜索. 直接上代码: 创建映 ...
- mysql 单表多字段查询_单表多字段MySQL模糊查询的实现
MySQL模糊查询是我们经常会遇到的,下面就为您介绍MySQL模糊查询的实现方法,希望对您学习MySQL模糊查询方面能够有所帮助. 在最近的一个项目需要实现在单表中对多字段进行多个关键字的MySQL模 ...
- mybatise 实现同一字段多模糊查询
mybatise 同一字段多模糊查询 <foreach collection="typeList" index="index" item="it ...
- JS模拟京东搜索框案例 模拟京东快递单号查询案例
模拟京东搜索框案例 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...
- Mybatis的如何根据下划线_,百分号%模糊查询---escape的作用
在使用mybatis的模糊查询时,有两个特殊符号需要注意: %:相当于任意多个字符: _:相当于任意的单个字符: 我们需要对特殊字符进行转义,如: public static String escap ...
- mysql全文搜索实现模糊查询_mysql使用全文索引实现大字段的模糊查询
0.场景说明 centos7 mysql5.7 InnoDB引擎 0.1创建表 DROP TABLE IF EXISTS tbl_article_content; CREATE TABLE tbl_a ...
- mysql 多字段关键词模糊查询
使用上表举例: 1,输入单个关键字"001"可查出四条数据,可实现的sql语句是: SELECT * FROM tb WHERE CONCAT(applicationCode, c ...
- SQL语句模糊查询 JavaWeb 项目 dao层 【常用来做搜索框】
目的:搜索框,通过输入一些关键词,查询含有关键词的书名 通过一条查询语句能够实现用户所有的条件进行查询 刚开始的SQL语句如下: String sql = "SELECT * FROM bo ...
最新文章
- 斐波那契数列性质【记住】
- c语言和画图软件,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
- 随笔-通过session判断用户密码输入错误三次,输入验证码
- oracle tns连接拒绝,TNS-12564: TNS: 拒绝连接(new)
- Metasploit AFP爆破模块afp_login
- java二维对象数组存入文件_关于Java:将2D数组保存到磁盘文件
- java课程设计图片浏览器_java课程设计图片浏览器
- 数据结构和算法之数组模拟队列
- Linux Vi常用技巧
- php数据类型_PHP数据类型能力问题和解答
- docker 安装的东西都在哪儿_热水器越来越不流行了,如今都安装这东西,好用安全,还省电费...
- 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的在线音乐网站
- python 统计英文词频
- SI4463研究计划(兼STM32F0进一步加深理解)
- win7计算机共享用户名和密码,Win7共享提示用户名密码错误怎么办
- codeforces 558 D Guess Your Way Out! II
- 地理信息系统和计算机系统的区别,GIS与其他信息系统的区别
- spring中AOP(面向切面编程)
- lumen php命令,lumen添加artisan 命令方法
- 刚到马来西亚旅游怎么临时解决电话卡问题
热门文章
- cache与MMU与总线仲裁
- 《学习高手》【上】学习记录
- 如何从零做私域流量社群运营sop工作步骤管理规划方案表格计划
- [W5500应用]用Microduino实现网页控制恒温饮水机以及电灯
- 量化投资八大常见误区
- These critical programs are missing or too old: make compiler
- 揭秘产品高手的底层逻辑
- vue fromData提交表单(文件)的同时 axios通过将token封装一起发送,Springboot后端拦截器通过request.getParameter获取,Redis验证token
- 迷你PC平台 pcDuino
- MySQL数据库的下载和安装