解決MyBatis返回結(jié)果類型為Boolean的問(wèn)題
問(wèn)題描述:
在使用MyBatis時(shí),有時(shí)需要檢查某個(gè)記錄是否存在數(shù)據(jù)庫(kù)中,然后根據(jù)其返回的布爾值true or false,來(lái)進(jìn)行邏輯判斷。那怎么做呢?
解決方案:
如檢測(cè)某個(gè)手機(jī)號(hào)是否被注冊(cè)過(guò):
<select id="checkPhoneExist" parameterType="java.lang.String" resultType="java.lang.Boolean"> <![CDATA[ select count(id) from ec_user where PHONE = #{phone, jdbcType=VARCHAR}]]> </select>
注意事項(xiàng):
Mybatis是根據(jù)查詢到的記錄數(shù)進(jìn)行轉(zhuǎn)換的(1表示為true,0表示為false) 。然而,如果查詢到多條記錄(大于1),則返回的布爾值為false。
這時(shí)候,我們需要將返回來(lái)的記錄數(shù)進(jìn)行判斷,就可以確保該記錄在數(shù)據(jù)庫(kù)中的唯一性了。
補(bǔ)充知識(shí):Mybatis Mysql布爾類型處理
針對(duì)mysql數(shù)據(jù)庫(kù)作如下測(cè)試,
如果數(shù)據(jù)庫(kù)存的為非0數(shù)字,轉(zhuǎn)換為true,否則為false
如果javaType的Boolean類型值為true,存到數(shù)據(jù)庫(kù)數(shù)字為1,false則為0
以上這篇解決MyBatis返回結(jié)果類型為Boolean的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Maven打包SpringBoot工程的實(shí)現(xiàn)示例
在使用Spring Boot和Maven的項(xiàng)目中,你可以使用Maven來(lái)打包你的項(xiàng)目,本文主要介紹了Maven打包SpringBoot工程的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05Java面試崗常見問(wèn)題之ArrayList和LinkedList的區(qū)別
ArrayList和LinkedList作為我們Java中最常使用的集合類,很多人在被問(wèn)到他們的區(qū)別時(shí),憋了半天僅僅冒出一句:一個(gè)是數(shù)組一個(gè)是鏈表。這樣回答簡(jiǎn)直讓面試官吐血。為了讓兄弟們打好基礎(chǔ),我們通過(guò)實(shí)際的使用測(cè)試,好好說(shuō)一下ArrayList和LinkedList的區(qū)別這道經(jīng)典的面試題2022-01-01深入解析JVM對(duì)dll文件和對(duì)類的裝載過(guò)程
這篇文章主要介紹了JVM對(duì)dll文件的裝載和對(duì)類的裝載過(guò)程,針對(duì)Java在Windows下的一些運(yùn)行情況作出講解,需要的朋友可以參考下2015-11-11查看Java所支持的語(yǔ)言及相應(yīng)的版本信息
Java語(yǔ)言作為第一種支持國(guó)際化的語(yǔ)言,在Internet從一開始就具有其他語(yǔ)言無(wú)與倫比的國(guó)際化的本質(zhì)特性,查看Java所支持的語(yǔ)言及相應(yīng)的版本信息可以采用以下代碼進(jìn)行查詢2014-01-01java枚舉類的構(gòu)造函數(shù)實(shí)例詳解
這篇文章主要介紹了java枚舉類的構(gòu)造函數(shù)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05