模糊查询 like 语句该怎么写?

在MyBatis中,要执行模糊查询(使用LIKE语句),你可以使用SQL语句的字符串拼接或使用动态SQL来构建查询语句。下面我将为你展示两种常用的方式。

假设你要在一个查询中执行模糊查询,搜索用户的用户名包含特定关键字的情况。

1、字符串拼接方式

<select id="searchUsers" resultMap="userResultMap">
    SELECT * FROM users
    WHERE username LIKE CONCAT('%', #{keyword}, '%')
</select>

在这个例子中,#{keyword}是参数占位符,表示要搜索的关键字。CONCAT('%', #{keyword}, '%')用于构建模糊匹配的字符串。

2、动态SQL方式

<select id="searchUsers" resultMap="userResultMap">
    SELECT * FROM users
    <where>
        <if test="keyword != null">
            AND username LIKE CONCAT('%', #{keyword}, '%')
        </if>
    </where>
</select>

在这个例子中,使用了<if>标签来创建动态条件。只有在keyword参数不为null时,才会添加AND username LIKE CONCAT('%', #{keyword}, '%')这个条件到查询语句中。

无论哪种方式,你都可以在SQL语句中使用LIKE关键字来实现模糊查询,然后通过#{}语法或动态SQL的方式将参数值插入到查询语句中。选择哪种方式取决于你的项目需求和团队的偏好。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值