MyBatis sql中test如何判斷Boolean

mybatis sql中test判斷Boolean

三種方式

<select id="queryAddress" resultType="com.caox.model.Address">
        select id, address, remark
        from address where
        1=1
        <if test="flag==true">
         and  address = #{address}
        </if>
    </select>
<update id="updateHaveNewComment">
        <choose>
            <when test="flag==true">
                UPDATE epc_subject_center s
                SET s.have_new_comment=1
                WHERE s.id=#{id}
            </when>
            <otherwise>
                UPDATE epc_subject_center s
                SET s.have_new_comment=0
                WHERE s.id=#{id}
            </otherwise>
        </choose>
    </update>
<update id="updateHaveNewComment">
        <choose>
            <when test="flag">
                UPDATE epc_subject_center s
                SET s.have_new_comment=1
                WHERE s.id=#{id}
            </when>
            <otherwise>
                UPDATE epc_subject_center s
                SET s.have_new_comment=0
                WHERE s.id=#{id}
            </otherwise>
        </choose>
    </update>

if標簽判斷boolean類型的寫法

例子方法

在入參flag不為空的情況下直接判斷

<if test="flag">
       AND order_status IN(1, 2, 3)
</if>
<if test="!flag">
       AND order_status IN(4, 5, 6)
</if>
<<choose>
     <when test="!flag">
             AND order_status  IN (4, 5, 6)
     </when>
     <otherwise>
             AND order_status  IN (1, 2, 3)
     </otherwise>
</choose>

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: