mybatis标签等

MySQL中< choose> 标签的用法

先给大家来个SQL语句:
choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中 的 choose 很类似。

<select id="getMemberInfo" resultType="java.util.Map" parameterType="java.util.Map" >
        SELECT 
        att.address,
        m.id,
        m.sex AS sex_type,
        m.nickname,
        m.focus_num,        <!-- 关注的用户数量 -->
        m.following_num,    <!-- 粉丝数量 -->
        m.consulation_num,    <!-- 收藏内容数量 -->
        m.user_type,        <!-- 0普通  1认证后用户可以发布访谈 口述 -->
        <choose>
            <when test="login_member_id!=null">
            (select  count(*)  from alq_member_follow mf where  m.id=mf.member_id and  #{login_member_id}=mf.member_following_id and (mf.is_delete=0 or mf.is_delete is null)) as isFocus
            </when>

    <!-- when元素表示当 when 中的条件满足的时候就输出其中的内容,跟 JAVA 中的 switch 
            效果差不多的是按照条件的顺序,当 when 中有条件满足的时候,就会跳出 choose,
            即所有的 when 和 otherwise 条件中,只有一个会输出,当所有的我很条件都不满足的时候就输出 
            otherwise 中的内容。所以上述语句的意思非常简单, 当login_member_id!=null 的时候就输出 isFocus,
            不再往下判断条件,当所有条件都不满足的时候就输出 otherwise 中的内容。 -->
            <otherwise>
             0 as isFocus
            </otherwise>
        </choose> 
        FROM `alq_member` m
        LEFT JOIN alq_attachment att ON att.id = m.logo_attachment_id
        WHERE m.id=#{member_id}
    </select>

猜你喜欢

转载自blog.csdn.net/xiayao111/article/details/88044757