ibatis 中isNull, isNotNull與isEmpty, isNotEmpty區別


  1. <span style="font-family: Arial, Verdana, sans-serif; white-space: normal; "><strong>isNull, isNotNull與isEmpty, isNotEmpty區別</strong></span>  

在iBATIS中isNull用於判斷參數是否為Null,isNotNull相反

 

isEmpty判斷參數是否為Null或者空,滿足其中一個條件則其true
isNotEmpty相反,當參數既不為Null也不為空是其為true

 判斷之后做相對應的表達式操作

 

如下代碼:

   

 

[html]  view plain  copy
 
  1. <select id="getCustomerRegNum" resultClass="int" parameterClass="QueryCustomerCondition">  
  2.           select count(cus_id) from cus_customer_tbl   
  3.           <dynamic prepend="WHERE">  
  4.             <isNotEmpty prepend="AND" property="cusWebFrom">  
  5.                 ( CUS_CUSTOMER_TBL.CUS_WEB_FROM LIKE '%$cusWebFrom$%')  
  6.             </isNotEmpty>  
  7.             <isNotEmpty prepend="AND" property="cusWebAgent">  
  8.                 ( CUS_CUSTOMER_TBL.CUS_WEB_AGENT LIKE '%$cusWebAgent$%')  
  9.             </isNotEmpty>  
  10.           </dynamic>  
  11.    </select>  

 

 

當之傳入參數 cusWebForm 而不傳入 cusWebAgent 時,產生的SQL語句為:

select count(cus_id) from cus_customer_tbl    WHERE      ( CUS_CUSTOMER_TBL.CUS_WEB_FROM LIKE '%baidu%')

 

而當XML代碼用<isNotNull > 配置時(注意他們的區別),

 

[html]  view plain  copy
 
  1. <select id="getCustomerRegNum" resultClass="int" parameterClass="QueryCustomerCondition">  
  2.           select count(cus_id) from cus_customer_tbl   
  3.           <dynamic prepend="WHERE">  
  4.             <isNotNull prepend="AND" property="cusWebFrom">  
  5.                 ( CUS_CUSTOMER_TBL.CUS_WEB_FROM LIKE '%$cusWebFrom$%')  
  6.             </isNotNull>  
  7.             <isNotNull prepend="AND" property="cusWebAgent">  
  8.                 ( CUS_CUSTOMER_TBL.CUS_WEB_AGENT LIKE '%$cusWebAgent$%')  
  9.             </isNotNull>  
  10.           </dynamic>  
  11.    </select>  


同樣 ,當之傳入參數 cusWebForm 而不傳入 cusWebAgent 時,產生的SQL語句為:

 

select count(cus_id) from cus_customer_tbl     WHERE     ( CUS_CUSTOMER_TBL.CUS_WEB_FROM LIKE '%baidu%')      AND        (CUS_CUSTOMER_TBL.CUS_WEB_AGENT LIKE '%%')

 

從Sql 語句就能看出他們的區別。。。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM