阅读量:0
在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语句更加简洁和可读性更高,同时也能更好地维护和扩展条件查询逻辑。