mybatis单条件查询的实现(where、choose条件的使用)

相比起多条件查询(需要注意动态SQL以及多条件),这里单条件查询类似于下拉框,让用户进行选择,实现起来也比较简单。多条件查询(需要注意动态SQL以及多条件)可以参考这里 多条件查询

这里只展示SQL语句编写部分,其余部分参考多条件查询

①三个标签

从外到里面分别是where、choose、when

在这里插入图片描述

②填写进下拉框的响应字段

代码:

<select id="selectBySingle" resultMap="BrandResultMap">
        select * from tb_brand
        <where>
            <choose>
                <when test="status != null">
                    status = #{status}
                </when>
            </choose>
            <choose>
                <when test="companyName != null">
                    company_name = #{companyName}
                </when>
            </choose>
            <choose>
                <when test="brandName != null">
                    brand_name = #{brandName}
                </when>
            </choose>

        </where>

    </select>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以,MyBatis的if标签里面可以包含choose标签。choose标签的作用是在多个when标签中选择一个符合条件的进行执行。if标签可以根据条件判断是否包含choose标签。如果条件满足,则执行choose标签中的语句;否则,继续执行后面的语句。因此,在if标签中包含choose标签是可以的。 ### 回答2: 是的,MyBatis的if标签里确实可以包含choose标签。 在MyBatis的映射文件中,if标签可以用于根据条件动态地生成SQL语句的一部分。而choose标签是一种条件选择标签,用于在多个条件中选择一个满足条件的分支。 通常的使用方式是先使用if标签判断某个条件是否成立,如果成立,则执行if标签中的SQL语句。而如果条件不成立,则可以在if标签中使用choose标签进行选择。 choose标签里面可以包含多个when标签和一个otherwise标签。每个when标签都可以设置一个条件,并且会根据条件成立与否执行相应的SQL语句。而otherwise标签则相当于默认分支,当所有的when标签的条件都不成立时,会执行otherwise标签中的SQL语句。 通过在if标签内使用choose标签,我们可以更加灵活地根据条件判断生成不同的SQL语句。这样可以有效地提高MyBatis的动态SQL生成能力,使得映射文件的编写更加灵活和方便。 ### 回答3: MyBatis的if标签是用于在SQL语句中进行条件判断的。它可以根据条件的真假来动态生成不同的SQL语句片段。 而choose标签是if标签的一种扩展,它可以用于组合多个条件判断。在choose标签中,可以包含多个when标签和一个otherwise标签。当满足某个when标签中的条件时,会执行对应的SQL语句片段;如果所有的when条件都不满足,则会执行otherwise标签中的SQL语句片段。 因此,通过if和choose标签的结合使用,可以实现更加复杂的条件判断和SQL语句生成。 示例代码如下: ``` <select id="getUserList" resultType="User"> SELECT * FROM user WHERE 1=1 <choose> <when test="id != null"> AND id = #{id} </when> <when test="name != null"> AND name = #{name} </when> <otherwise> AND age > 18 </otherwise> </choose> </select> ``` 上述代码中,根据传入的参数不同,可以动态生成不同的SQL语句,从而实现根据id、name或者年龄来查询用户信息的功能。 综上所述,MyBatis的if标签是可以包含choose标签的,通过它们的结合使用,可以灵活地根据条件动态生成SQL语句。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值