使用这个xml
<select id="queryBlog1" parameterType="map" resultType="Blog">
select * from blog
<where>
<choose>
<when test="title!=null">
title = #{title}
</when>
<when test="author!=null">
author = #{author}
</when>
<otherwise>
views = #{views}
</otherwise>
</choose>
</where>
</select>
意思是说,首先where标签会自动添加where语句,然后choose里的when只选择一个满足条件的查询,只要前面的when满足了,则后面的不会执行,因此我们说choose有点像switch语句的语法。
而otherwise是前面的when标签里的条件若都不满足,则强制执行otherwise。