MyBatis if標簽:條件判斷

MyBatis if 類似于 Java 中的 if 語句,是 MyBatis 中最常用的判斷語句。使用 if 標簽可以節(jié)省許多拼接 SQL 的工作,把精力集中在 XML 的維護上。

if 語句使用方法簡單,常常與 test 屬性聯(lián)合使用。語法如下。

<if test="判斷條件">
    SQL語句
</if>
                

當判斷條件為 true 時,才會執(zhí)行所包含的 SQL 語句。

最常見的場景是在 if 語句中包含 where 子句,例如。

<select id="selectAllWebsite" resultMap="myResult">
    select id,name,url from website
    <if test="name != null">
        where name like #{name}
    </if>
</select>
                

以上代表表示根據(jù)網(wǎng)站名稱去查找相應的網(wǎng)站信息,但是網(wǎng)站名稱是一個可填可不填的條件,不填寫的時候不作為查詢條件。

可多個 if 語句同時使用。以下語句表示為可以按照網(wǎng)站名稱(name)或者網(wǎng)址(url)進行模糊查詢。如果您不輸入名稱或網(wǎng)址,則返回所有的網(wǎng)站記錄。但是,如果你傳遞了任意一個參數(shù),它就會返回與給定參數(shù)相匹配的記錄。

<select id="selectAllWebsite" resultMap="myResult">
    select id,name,url from website where 1=1
    <if test="name != null">
        AND name like #{name}
    </if>
    <if test="url!= null">
        AND url like #{url}
    </if>
</select>
                
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清