天天看點

mybatis學習(七)(choose的學習)

在平時使用mapper配置的時候,如果有一個參數不确定它的狀态導緻sql不好寫,那麼可以使用choose來選擇不同狀态下的sql語句,

執行個體:

  根據deptno參數的有無來選擇合适的sql語句:

mapper.xml配置如下:

  

<select id="select05" parameterType="Integer" resultType="Dept">
        <choose>
            <when test="_parameter != 0">
                select * from dept where deptno = #{_parameter}<!-- 當使用的是基本資料類型來傳參數時,占位符使用_parameter -->
            </when>
            <otherwise>
                select * from dept
            </otherwise>
        </choose>
    </select>
          

這裡關于choose還要提幾點:

  when是條件選擇,otherwise是其他條件, 一個choose裡面可以有多個when,但隻能有一個otherwise.

  當然,條條道路通羅馬,要想完成上面的任務,不單單隻有choose可以使用,你也可以使用where條件,隻不過多掌握一個知識點,将來吹牛逼就不需要打草稿了。