在平時使用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條件,隻不過多掌握一個知識點,将來吹牛逼就不需要打草稿了。