阅读量:0
在MyBatis的XML映射文件中使用if-else可以通过使用<if>
和<choose>
标签来实现条件判断。以下是一个示例:
<select id="getUserById" parameterType="int" resultType="User"> SELECT * FROM users WHERE id = #{id} <if test="name != null"> AND name = #{name} </if> <if test="age != null"> AND age = #{age} </if> </select>
在上面的示例中,<if>
标签用于判断条件是否成立,如果条件成立则会执行其中的SQL语句。可以通过test
属性来指定条件判断的表达式。
另外,<choose>
标签可以实现类似于Java中的if-else if-else结构。以下是一个示例:
<select id="getUserById" parameterType="int" resultType="User"> SELECT * FROM users WHERE id = #{id} <choose> <when test="name != null"> AND name = #{name} </when> <when test="age != null"> AND age = #{age} </when> <otherwise> AND status = 'active' </otherwise> </choose> </select>
在上面的示例中,<choose>
标签内部包含了多个<when>
标签和一个<otherwise>
标签。每个<when>
标签用于判断一个条件是否成立,如果条件成立则执行其中的SQL语句。<otherwise>
标签用于指定当所有条件都不成立时执行的SQL语句。