目的:Mybatis 之 If 的基本使用

 

先给出正确的例子

 

<select id="findListBlog" resultType="BlogVo" parameterType="String">
        select a.bid, a.bimgtitle, a.btitle, a.babstract, a.bgood, a.bread, a.bcreatedate, b.cname
        from blog a, categroy b where a.cid = b.cid
        <if test=' _parameter != "0" '>
            and a.cid = #{cid};
        </if>
    </select>

 

问题说明:

    1、test 中的 _parameter 就是你传过来的参数,  而这个参数在这里,必须写成 _parameter 。你不能改,不然会报错

    2、如果你就像我上面这样的表达式。外面必须写 单引号, 里面才写  双引号。

 

2、取对象中的值 (这个 flag 是对象的属性 ,和 cid,tcid 一样的)

<delete id="deleteCategory" parameterType="Category">
        delete from
        <if test="flag == 1">
            categroy where cid = #{cid};
        </if>
        <if test="flag == 2">
            twocategory where tcid = #{tcid};
        </if>
    </delete>