MyBatis 3 動(dòng)態(tài)SQL-choose、when、otherwise

2022-04-11 10:24 更新

choose、when、otherwise

有時(shí)候,我們不想使用所有的條件,而只是想從多個(gè)條件中選擇一個(gè)使用。針對(duì)這種情況,MyBatis 提供了 ?choose ?元素,它有點(diǎn)像 Java 中的 ?switch ?語(yǔ)句。

還是上面的例子,但是策略變?yōu)椋簜魅肓?nbsp;“?title?” 就按 “?title?” 查找,傳入了 “?author?” 就按 “?author?” 查找的情形。若兩者都沒有傳入,就返回標(biāo)記為 ?featured ?的 ?BLOG?(這可能是管理員認(rèn)為,與其返回大量的無(wú)意義隨機(jī) ?Blog?,還不如返回一些由管理員精選的 ?Blog?)。

<select id="findActiveBlogLike"
     resultType="Blog">
  SELECT * FROM BLOG WHERE state = ‘ACTIVE’
  <choose>
    <when test="title != null">
      AND title like #{title}
    </when>
    <when test="author != null and author.name != null">
      AND author_name like #{author.name}
    </when>
    <otherwise>
      AND featured = 1
    </otherwise>
  </choose>
</select>


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)