mybatis 使用concat 模糊查询方式
更新时间:2022年01月14日 14:19:17 作者:耳东的慢生活
这篇文章主要介绍了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函数,直接用加号连接就好
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章
一文讲解如何解决Java中的IllegalArgumentException异常
这篇文章主要给大家介绍了关于如何解决Java中IllegalArgumentException异常的相关资料,IllegalArgumentException是Java中的一个标准异常类,通常在方法接收到一个不合法的参数时抛出,需要的朋友可以参考下2024-03-03
最新评论