阅读量: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
的值返回不同的结果。