1. 程式人生 > >Mybatis動態sql條件查詢中if判斷Integer的條件寫法

Mybatis動態sql條件查詢中if判斷Integer的條件寫法

在使用SSM的過程中,前臺序列化表單得到json物件並使用ajax傳到後臺中:

var data = $("#selectInspect").serialize();
$.getJSON("selectInspectPlan.do?t="+new Date().getTime(),data,function(jarray){}

selectInspect是form表單的ID。

其中有一個標籤的name為inspectTaio,在是實體類inspectPlanDto中的一個屬性,型別為Integer。

前臺傳過來的是String型別,在控制層中的形參中直接寫這個實體inspectPlanDto就可以自動完成型別轉換和封裝,這是因為簡單的基本資料型別springMVC可以自動完成資料型別的轉換封裝。

在動態sql的使用where時,if標籤判斷中,如果實體類中的某一個屬性是String型別,那麼就可以這樣來判斷連線語句:

<!-- 団體區分コード -->
<if test="inspectOrg != null and inspectOrg != ''">
INSPECT_ORG = #{inspectOrg}
</if>

但是如果是實體類中的Integer型別,就要去掉空字串的判斷:

<!-- 対応區分 -->
<if test="inspectTaio != null">
AND INSPECT_TAIO = #{inspectTaio}
</if>

否則會被空字元判定條件攔下,導致新增不上需要連線的條件查詢語句。