最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis if傳入字符串?dāng)?shù)字踩坑記錄及解決

 更新時間:2023年02月07日 09:36:09   作者:搬運Gong  
這篇文章主要介紹了mybatis if傳入字符串?dāng)?shù)字踩坑記錄及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mybatis if傳入字符串?dāng)?shù)字踩坑

前臺頁面內(nèi)容,注意這里的類型為字符串類型的數(shù)字

<li>
?? ?<label>支付類型:</label>
?? ?<form:select path="payType" class="input-medium">
?? ??? ?<form:option value="">全部</form:option>
?? ??? ?<form:option value="1">線上支付</form:option>
?? ??? ?<form:option value="3">線下支付</form:option>
?? ?</form:select>
</li>

后臺 MVC 接收參數(shù):

Class RefundLog {
?? ?....
?? ?/**
?? ? * 支付類型 1:線上支付服務(wù),3:線下支付服務(wù)
?? ? */
?? ?private String payType;

?? ?.....
}

public String refundOrderList(RefundLog refundLog, HttpServletRequest request, HttpServletResponse response, Model model) {
?? ?.....
}

此時 mybatis 中使用常規(guī)的字符串判斷,不會進入條件,如下,錯誤的寫法:

<if test="payType == '1'">
?? ?AND rl.pay_type in ('1','ZFBA','WEIX')
</if>

經(jīng)過調(diào)試發(fā)現(xiàn),SQL 未進入判斷?。?!

正確的寫法如下

將字符串?dāng)?shù)字toString 一下?。。?!

<if test="payType == '1'.toString()">
?? ?AND rl.pay_type in ('1','ZFBA','WEIX')
</if>

搞定?。?/p>

mybatis if比較字符串相等問題

在mybatis中,使用<if test="flag=='1'">

flag為string類型傳入,其值也是“1”,但是這個等式的返回結(jié)果是false

最后發(fā)現(xiàn)mybatis將'1'解析為char類型,所有不相等

可將<if test="flag=='1'">改為<if test='flag=="1"'>或者<if test="flag==1">

這個誤區(qū)在使用mybatis好多年都沒有發(fā)現(xiàn),所以盡量不要使用單字符的String字符串來進行比較

mybatis是用OGNL表達式來解析的,在OGNL的表達式中,單引號里單個字符會被解析成char類型(多個字符是可以的),java是強類型的,char 和一個string 會導(dǎo)致不等

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • spring validation多層對象校驗教程

    spring validation多層對象校驗教程

    這篇文章主要介紹了spring validation多層對象校驗教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • IDEA插件推薦之Maven-Helper的教程圖解

    IDEA插件推薦之Maven-Helper的教程圖解

    這篇文章主要介紹了IDEA插件推薦之Maven-Helper的相關(guān)知識,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考
    2020-07-07
  • Java中如何獲取當(dāng)前服務(wù)器的IP地址

    Java中如何獲取當(dāng)前服務(wù)器的IP地址

    這篇文章主要給大家介紹了關(guān)于Java中如何獲取當(dāng)前服務(wù)器的IP地址的相關(guān)資料,我們可以使用Java中的InetAddress類來獲取Linux服務(wù)器的IP地址,需要的朋友可以參考下
    2023-07-07
  • 聊聊spring繼承的問題

    聊聊spring繼承的問題

    這篇文章主要介紹了spring繼承的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • JPA原生SQL實現(xiàn)增刪改查的示例詳解

    JPA原生SQL實現(xiàn)增刪改查的示例詳解

    JPA除了對JPQL提供支持外,還對原生SQL語句也提供了支持。本文將利用生SQL實現(xiàn)增刪改查功能,文中的示例代碼講解詳細,需要的可以參考一下
    2022-09-09
  • Java面試題沖刺第四天--數(shù)據(jù)庫

    Java面試題沖刺第四天--數(shù)據(jù)庫

    這篇文章主要為大家分享了最有價值的三道數(shù)據(jù)庫面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-07-07
  • logback-spring.xml配置詳解

    logback-spring.xml配置詳解

    這篇文章主要介紹了logback-spring.xml詳解,本文介紹了logback-spring.xml相關(guān)的知識與概念,結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • SpringBoot開發(fā)技巧之使用AOP記錄日志示例解析

    SpringBoot開發(fā)技巧之使用AOP記錄日志示例解析

    這篇文章主要為大家介紹了SpringBoot開發(fā)技巧之如何利用AOP記錄日志的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • Java過濾器與監(jiān)聽器間區(qū)別與聯(lián)系

    Java過濾器與監(jiān)聽器間區(qū)別與聯(lián)系

    監(jiān)聽器是一個接口內(nèi)容由我們實現(xiàn),會在特定時間被調(diào)用,監(jiān)聽器用于監(jiān)聽web應(yīng)用中三大域?qū)ο?request,session,application),信息的創(chuàng)建,銷毀,增加,修改,刪除等動作的發(fā)生,然后做出相應(yīng)的響應(yīng)處理
    2023-01-01
  • Java中Arrays的介紹及使用方法示例

    Java中Arrays的介紹及使用方法示例

    這篇文章主要給大家介紹了關(guān)于Java中Arrays及使用方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論

凤翔县| 兰西县| 南投市| 井陉县| 定西市| 铜鼓县| 蒙城县| 武平县| 陇西县| 定结县| 门头沟区| 罗甸县| 杂多县| 兴隆县| 文化| 睢宁县| 汝南县| 利辛县| 江孜县| 遂宁市| 甘洛县| 施甸县| 陆河县| 通城县| 呈贡县| 大方县| 蒲城县| 六枝特区| 滨州市| 石景山区| 广东省| 山东省| 亳州市| 洪湖市| 博野县| 紫金县| 石阡县| 东平县| 巨野县| 锡林浩特市| 两当县|