mybatis的if判斷不要使用boolean值的說明
mybatis的if判斷里面最好不要使用boolean值:
mybatis會默認(rèn)把空值轉(zhuǎn)為false。所以如果遇見前段傳空值,這個字段在mybatis里面永遠(yuǎn)就是false了,
可以使用數(shù)字類型代替,但是不要使用0作為參數(shù);
補(bǔ)充知識:【MyBatis】<if test=''></if>標(biāo)簽的條件判斷(Boolean類型參數(shù))
在MyBatis 中,動態(tài) SQL 元素和 JSTL 或基于類似 XML 的文本處理器相似。
在 MyBatis 3 之前的版本中,有很多元素需要花時間了解。而MyBatis 3 大大精簡了元素種類,只需學(xué)習(xí)原來一半的元素便可。
MyBatis 采用功能強(qiáng)大的基于 OGNL 的表達(dá)式來淘汰其它大部分元素。
<!-- <if test=' '></if>標(biāo)簽的使用實(shí)例--> <select resultType='Blog'> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <if test='title != null'> AND title like #{title,jdbcType=VARCHAR} </if></select>
<!-- <if test=''></if>標(biāo)簽 --> <!-- 對于字符串類型參數(shù),可以用如下寫法: --><if test='username' != null> username=#{username, jdbcType=VARCHAR}</if> <!-- 或者 --><if test='username != null and ’John’ == username'> username=#{username, jdbcType=VARCHAR}</if> <!-- 但是,對于非字符串類型的參數(shù)(如Boolean),就需要寫成: --><if test='flag != null and ’true’.toString() == flag.toString()'> flage=#{flag, jdbcType=BOOLEAN}</if>
以上這篇mybatis的if判斷不要使用boolean值的說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Oracle災(zāi)難防護(hù)的關(guān)鍵技術(shù)2. 在SQL Server數(shù)據(jù)庫中如何減少死鎖發(fā)生3. Oracle 11g透明數(shù)據(jù)加密安全特性解析4. MySQL為什么要避免大事務(wù)以及大事務(wù)解決的方法5. 無責(zé)任Oracle圖書簡評 (1)6. Mybatis 動態(tài)表名+Map參數(shù)傳遞+批量操作詳解7. 保“庫”之路:Oracle數(shù)據(jù)庫性能保護(hù)8. MYSQL SQL查詢近7天一個月的數(shù)據(jù)的操作方法9. Oracle內(nèi)部工具Block Corruption介紹10. 輕松掌握Oracle數(shù)據(jù)庫Where條件執(zhí)行順序
