mybatis

使用elseif优化MyBatis中的条件查询

小樊
86
2024-08-16 21:48:40
栏目: 编程语言

在MyBatis中进行条件查询时,可以使用<choose><when><otherwise>标签来优化条件判断,类似于Java中的if-else if-else结构。

下面是一个示例,假设有一个需求是根据不同的条件来查询用户信息:

<select id="getUserList" resultType="User">
    SELECT * FROM user
    <where>
        <choose>
            <when test="gender != null">
                AND gender = #{gender}
            </when>
            <when test="age != null">
                AND age = #{age}
            </when>
            <otherwise>
                AND 1=1
            </otherwise>
        </choose>
    </where>
</select>

在上面的示例中,根据不同的条件判断来拼接不同的SQL查询条件。如果gender不为null,则查询条件为AND gender = #{gender};如果age不为null,则查询条件为AND age = #{age};否则查询条件为AND 1=1,即不添加任何查询条件。

这样可以使SQL语句更加简洁和可读性更高,同时也能更好地维护和扩展条件查询逻辑。

0
看了该问题的人还看了