mybatis的if判斷不要使用boolean值的說(shuō)明
mybatis的if判斷里面最好不要使用boolean值:
mybatis會(huì)默認(rèn)把空值轉(zhuǎn)為false。所以如果遇見(jiàn)前段傳空值,這個(gè)字段在mybatis里面永遠(yuǎn)就是false了,
可以使用數(shù)字類型代替,但是不要使用0作為參數(shù);
補(bǔ)充知識(shí):【MyBatis】<if test=""></if>標(biāo)簽的條件判斷(Boolean類型參數(shù))
在MyBatis 中,動(dòng)態(tài) SQL 元素和 JSTL 或基于類似 XML 的文本處理器相似。
在 MyBatis 3 之前的版本中,有很多元素需要花時(shí)間了解。而MyBatis 3 大大精簡(jiǎn)了元素種類,只需學(xué)習(xí)原來(lái)一半的元素便可。
MyBatis 采用功能強(qiáng)大的基于 OGNL 的表達(dá)式來(lái)淘汰其它大部分元素。
<!-- <if test=" "></if>標(biāo)簽的使用實(shí)例-->
<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>標(biāo)簽 -->
<!-- 對(duì)于字符串類型參數(shù),可以用如下寫法: -->
<if test="username" != null>
username=#{username, jdbcType=VARCHAR}
</if>
<!-- 或者 -->
<if test="username != null and 'John' == username">
username=#{username, jdbcType=VARCHAR}
</if>
<!-- 但是,對(duì)于非字符串類型的參數(shù)(如Boolean),就需要寫成: -->
<if test="flag != null and 'true'.toString() == flag.toString()">
flage=#{flag, jdbcType=BOOLEAN}
</if>
以上這篇mybatis的if判斷不要使用boolean值的說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java中的常見(jiàn)幾種發(fā)送http請(qǐng)求實(shí)例
在Java編程中,發(fā)送HTTP請(qǐng)求是一個(gè)常見(jiàn)需求,常用的方法有四種:HttpURLConnection、URLConnection、HttpClient以及Socket,其中,使用HttpClient方式時(shí),需要添加額外的庫(kù)支持2024-11-11
Java面向?qū)ο蠡A(chǔ)知識(shí)之封裝,繼承,多態(tài)和抽象
這篇文章主要介紹了Java面向?qū)ο蟮姆庋b,繼承,多態(tài)和抽象,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下2021-11-11
java List循環(huán)與Map循環(huán)的總結(jié)
這篇文章主要介紹了java List循環(huán)與Map循環(huán)的總結(jié)的相關(guān)資料,并附代碼實(shí)例,幫助大家學(xué)習(xí)理解,需要的朋友可以參考下2016-11-11
Mybatis報(bào)錯(cuò)日志BindingException的解決
本文主要介紹了Mybatis報(bào)錯(cuò)日志BindingException的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Java編程構(gòu)造方法與對(duì)象的創(chuàng)建詳解
這篇文章主要介紹了Java編程構(gòu)造方法與對(duì)象的創(chuàng)建詳解,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
基于Springboot商品進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
本項(xiàng)目基于springboot實(shí)現(xiàn)一個(gè)進(jìn)銷存管理系統(tǒng),主要用戶開(kāi)設(shè)網(wǎng)店的相關(guān)商品的進(jìn)貨、銷售、庫(kù)存的管理,功能比較完整,需要的可以參考一下2022-08-08
Java死鎖代碼實(shí)例及產(chǎn)生死鎖必備的四個(gè)條件
這篇文章主要介紹了Java死鎖代碼實(shí)例及產(chǎn)生死鎖必備的四個(gè)條件,Java 發(fā)生死鎖的根本原因是,在申請(qǐng)鎖時(shí)發(fā)生了交叉閉環(huán)申請(qǐng),synchronized在開(kāi)發(fā)中最好不要嵌套使用,容易導(dǎo)致死鎖,需要的朋友可以參考下2024-01-01

