1. 程式人生 > 程式設計 >mybatis的if判斷不要使用boolean值的說明

mybatis的if判斷不要使用boolean值的說明

mybatis的if判斷裡面最好不要使用boolean值:

mybatis會預設把空值轉為false。所以如果遇見前段傳空值,這個欄位在mybatis裡面永遠就是false了,

可以使用數字型別代替,但是不要使用0作為引數;

補充知識:【MyBatis】<if test=""></if>標籤的條件判斷(Boolean型別引數)

在MyBatis 中,動態 SQL 元素和 JSTL 或基於類似 XML 的文字處理器相似。

在 MyBatis 3 之前的版本中,有很多元素需要花時間瞭解。而MyBatis 3 大大精簡了元素種類,只需學習原來一半的元素便可。

MyBatis 採用功能強大的基於 OGNL 的表示式來淘汰其它大部分元素。

<!-- <if test=" "></if>標籤的使用例項-->
 
<select id="findActiveBlogWithTitleLike" resultType="Blog">
 SELECT
  * 
 FROM 
  BLOG 
 WHERE
  state = ‘ACTIVE' 
  <if test="title != null">
   AND title like #{title,jdbcType=VARCHAR}
  </if>
</select>
<!-- <if test=""></if>標籤 -->
 
<!-- 對於字串型別引數,可以用如下寫法: -->
<if test="username" != null>
 username=#{username,jdbcType=VARCHAR}
</if>
 
<!-- 或者 -->
<if test="username != null and 'John' == username">
 username=#{username,jdbcType=VARCHAR}
</if>
 
<!-- 但是,對於非字串型別的引數(如Boolean),就需要寫成: -->
<if test="flag != null and 'true'.toString() == flag.toString()">
 flage=#{flag,jdbcType=BOOLEAN}
</if>

以上這篇mybatis的if判斷不要使用boolean值的說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。