Mybatis框架篇章九

举报
兰舟千帆 发表于 2022/07/21 18:12:41 2022/07/21
【摘要】 用where标签这个标签比较只能,它的作用就是会动态的替换掉第一个条件前的and。作用:==替换where关键字会动态的去掉第一个条件前的 and如果所有的参数没有值则不加where关键字==那么我们用这个标签的时候,可以给第一个条件加上and。来尝试使用。-- </select>--> <select id="selectByDynamicCondition" resultM...

用where标签

这个标签比较只能,它的作用就是会动态的替换掉第一个条件前的and。
作用:
==替换where关键字
会动态的去掉第一个条件前的 and
如果所有的参数没有值则不加where关键字==
那么我们用这个标签的时候,可以给第一个条件加上and。来尝试使用。

--    </select>-->
    <select id="selectByDynamicCondition" resultMap="brandResultMap">
    select *
    from tb_brand
    <where>
        <if test="status!=null">
            and status = #{status}
        </if>
        <if test="companyName!= null and companyName !=''">
            and company_name like #{companyName}
        </if>
        <if test="brandName != null and brandName!=''">
            and brand_name like #{brandName}
        </if>
    </where>

    </select>

我们主要的问题出现在status这个上面。现在我们分别添加和不添加两种状态来运行代码。
测试代码中不添加status

在这里插入图片描述

测试代码添加status
在这里插入图片描述
看吧完美解决问题。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。