在Mybatis里如何写case when语句

avatar
作者
猴君
阅读量:0

在 MyBatis 中,可以使用 <if> 标签来实现类似 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> 标签来根据参数是否为 null 来动态生成 SQL 语句。当 example.status 不为 null 时,我们使用 CASE 语句来根据 example.status 的值返回不同的结果。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!