溫馨提示×

在Mybatis里如何寫case when語句

小樊
81
2024-10-13 15:03:32
欄目: 編程語言

在 MyBatis 中,可以使用 <if> 標簽來實現(xiàn)類似 SQL 中的 CASE WHEN 語句的功能。下面是一個示例:

<select id="selectByExample" parameterType="com.example.Example" resultType="com.example.Result">
    SELECT
        id,
        name,
        age,
        <if test="example.status != null">
            CASE
                WHEN example.status = 'active' THEN 'Active'
                WHEN example.status = 'inactive' THEN 'Inactive'
                ELSE 'Unknown'
            END AS status_name
        </if>
    FROM
        user
    WHERE
        <if test="example.id != null">
            id = #{id}
        </if>
        <if test="example.name != null">
            AND name = #{name}
        </if>
        <if test="example.age != null">
            AND age = #{age}
        </if>
</select>

在這個示例中,我們使用 <if> 標簽來根據(jù)參數(shù)是否為 null 來動態(tài)生成 SQL 語句。當 example.status 不為 null 時,我們使用 CASE 語句來根據(jù) example.status 的值返回不同的結(jié)果。

0