在mybatis中使用<choose><when><otherwise>
标签的作用,类似于Java 的 switch 语句的作用,其中只有一个判断满足条件。
<select id="getPerson" resultType="com.lzj.bean.Employee">
select * from PERSON
<!--<where>标签起到了where的关键字的作用,同时也起到了去掉每个判断语句最前面多于的and、or字符的作用。但在本例中,不会存在and、or的字符,所以只是起到了where关键字的作用-->
<where>
<!-- 如果带了id就用id查,如果带了lastName就用lastName查;只会进入其中一个 -->
<choose>
<when test="id!=null">
id=#{id}
</when>
<when test="lastName!=null">
last_name like #{lastName}
</when>
<when test="email!=null">
email = #{email}
</when>
<otherwise>
gender = 0
</otherwise>
</choose>
</where>
</select>