本篇内容介绍了“mybatis使用concat模糊查询的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
使用concat 模糊查询
<select id="queryByKeyWord" resultType="com.mingdutech.xelerator.eln.dto.ApparatusDto">
select distinct b.*
from base_apparatus b
left join base_apparatus_column c
on b.ID = c.apparatus_id
<if test="keyWord != null">
<where>
CONCAT( IFNULL(b.name,''),
IFNULL(code,''),
IFNULL(serial,''),
IFNULL(location,''),
IFNULL(remark,''),
IFNULL(b.create_user,''),
IFNULL(b.update_user,''),
IFNULL(c.field_value,''),
IFNULL(batch_no,'') )
like CONCAT('%',#{keyWord},'%')
</where>
</if>
</select>
concat() 函数用于将多个字符串拼接成一个字符串
本举例
keyWord为空查询所有,keyWord不为空,检索所有contact中所有字段匹配的内容。
注意
所有字段需要IFNULL判断,否则某字段为空可能会导致查询结果丢失一条记录
模糊查询使用concat('%',#{str},'%')出错
经过我一套乱七八糟毫无思路地查找后,发现不是mybatis的原因,原来是SQL server不支持concat函数,直接用加号连接就好
“mybatis使用concat模糊查询的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注天达云网站,小编将为大家输出更多高质量的实用文章!