解決MyBatis返回結(jié)果類型為Boolean的問題
問題描述:
在使用MyBatis時,有時需要檢查某個記錄是否存在數(shù)據(jù)庫中,然后根據(jù)其返回的布爾值true or false,來進行邏輯判斷。那怎么做呢?
解決方案:
如檢測某個手機號是否被注冊過:
<select parameterType='java.lang.String' resultType='java.lang.Boolean'> <![CDATA[ select count(id) from ec_user where PHONE = #{phone, jdbcType=VARCHAR}]]> </select>
注意事項:
Mybatis是根據(jù)查詢到的記錄數(shù)進行轉(zhuǎn)換的(1表示為true,0表示為false) 。然而,如果查詢到多條記錄(大于1),則返回的布爾值為false。
這時候,我們需要將返回來的記錄數(shù)進行判斷,就可以確保該記錄在數(shù)據(jù)庫中的唯一性了。
補充知識:Mybatis Mysql布爾類型處理
針對mysql數(shù)據(jù)庫作如下測試,
如果數(shù)據(jù)庫存的為非0數(shù)字,轉(zhuǎn)換為true,否則為false
如果javaType的Boolean類型值為true,存到數(shù)據(jù)庫數(shù)字為1,false則為0
以上這篇解決MyBatis返回結(jié)果類型為Boolean的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 快速刪除ORACLE重復記錄2. ACCESS轉(zhuǎn)SQL數(shù)據(jù)庫相關(guān)的幾個技能3. mysql like語句問題4. Mysql入門系列:MYSQL列類型選擇與MYSQL查詢效率5. MySQL學習記錄之KEY分區(qū)引發(fā)的血案6. 巧用SQL語言在ACCESS數(shù)據(jù)庫中批量替換內(nèi)容7. MySQL創(chuàng)始人發(fā)郵件尋求中國幫助8. MySQL存儲過程例子(包含事務(wù)、參數(shù)、嵌套調(diào)用、游標循環(huán)等)9. 學好Oracle的六條總結(jié)10. MYSQL數(shù)據(jù)庫存文本轉(zhuǎn)存數(shù)據(jù)庫問題

網(wǎng)公網(wǎng)安備