mybatis之choose标签
choose标签作用:
按顺序判断其内部when标签中的test条件出否成立,如果有一个成立,则 choose 结束,当 choose 中所有 when 的条件都不满足时,则执行 otherwise 中的sql。
类似于Java 的 switch 语句,choose 为 switch,when 为 case,otherwise 则为 default。
格式:
<choose>
<when test="">
sql语句
</when>
<otherwise>
sql语句
</otherwise>
</choose>
例如:
需求:sort是一个整型字段,当sort=1时,按创建时间正序,sort=2时按创建时间倒序,否则按名称排序。
xml如下:
<choose>
<when test="sort == 1">
ORDER BY p.create_time
</when>
<when test="sort == 2">
ORDER BY p.create_time DESC
</when>
<otherwise>
ORDER BY name DESC
</otherwise>
</choose>