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

使用Mybatis遇到的坑之Integer類型參數(shù)的解讀

 更新時間:2023年03月30日 09:15:24   作者:Mr1ght  
這篇文章主要介紹了使用Mybatis遇到的坑之Integer類型參數(shù)的解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用Mybatis遇到的坑之Integer類型參數(shù)

有時候我們使用實體類傳遞參數(shù)時,有些屬性會被設(shè)置為Integer類型,比如status、sort等,在這里,使用Integer類型參數(shù)作為條件時

要注意一點:例如

<if test="bean.activitySort != null and bean.activitySort !=""">
? ? ? ? AND activity_sort = #{bean.activitySort,jdbcType=VARCHAR}
</if>

這里對于bean.activitySort的判斷正常情況下如果activitySort是String類型,先判空,再判斷是否是空字符串,這樣是正常的,但是如果activitySort是Integer類型參數(shù),那么使用時就需要注意,此處不能對activitySort進(jìn)行空字符串的判斷,因為什么呢?

因為mybatis在解析Integer類型數(shù)據(jù)時,如果數(shù)據(jù)值為0,會將0解析為空字符串,這樣你傳入的參數(shù)就成為無效的了,所以正常使用Integer類型參數(shù)應(yīng)該是下面這樣:

<if test="bean.activitySort != null">
? ? ? ? AND activity_sort = #{bean.activitySort,jdbcType=VARCHAR}
</if>

Mybatis的xml,Integer類型參數(shù)bug問題

當(dāng)有Integer數(shù)據(jù)類型的參數(shù)值為0時,如pid=0,xml中pid==“” 判斷為ture,即不走條件語句

<if test="pid != null and pid != '' ">
   AND a.pid = #{pid}
</if>

正確寫法一:還要加上一句 or pid==0

<if test="pid != null and pid != '' or pid ==0">
   AND a.pid = #{pid}
</if>

正確方法二:去掉and pid != ''的條件

<if test="pid != null ">
   AND a.pid = #{pid}
</if>

原因分析

總結(jié)

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

相關(guān)文章

  • SpringBoot自定義監(jiān)聽器的項目實踐

    SpringBoot自定義監(jiān)聽器的項目實踐

    Spring Boot提供了強(qiáng)大的事件模型,其中包括多種內(nèi)置監(jiān)聽器,同時也支持開發(fā)者自定義監(jiān)聽器,下面就來介紹下SpringBoot自定義監(jiān)聽器,感興趣的可以了解一下
    2024-03-03
  • mybatis mapper互相引用resultMap啟動出錯的解決

    mybatis mapper互相引用resultMap啟動出錯的解決

    這篇文章主要介紹了mybatis mapper互相引用resultMap啟動出錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 手把手教你排查解決Java編譯報錯:找不到符號

    手把手教你排查解決Java編譯報錯:找不到符號

    這篇文章主要介紹了手把手教你排查解決Java編譯報錯:找不到符號的相關(guān)資料,提供了排查步驟和解決方法,通過這些步驟,開發(fā)者可以有效地找到并解決編譯器拋出的找不到符號錯誤,從而提高開發(fā)效率,需要的朋友可以參考下
    2025-04-04
  • SpringBoot?LiteFlow引擎框架使用原理解析

    SpringBoot?LiteFlow引擎框架使用原理解析

    LiteFlow是一個輕量且強(qiáng)大的國產(chǎn)規(guī)則引擎框架,可用于復(fù)雜的組件化業(yè)務(wù)的編排領(lǐng)域,本文給大家介紹SpringBoot?LiteFlow引擎框架的相關(guān)操作,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • Java輕松使用工具類實現(xiàn)獲取MP3音頻時長

    Java輕松使用工具類實現(xiàn)獲取MP3音頻時長

    在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用工具類來獲取一個MP3音頻文件的時間長度,感興趣的同學(xué)繼續(xù)往下閱讀吧
    2021-10-10
  • SpringBoot的配置文件(properties與yml)使用方法

    SpringBoot的配置文件(properties與yml)使用方法

    配置文件中的配置類型有兩類,一類是系統(tǒng)配置項,這種配置的格式都是固定的,是給系統(tǒng)使用的,另一種是用戶自定義配置,用戶可以隨意地規(guī)定配置項的格式,又用戶自行去設(shè)置和讀取,這篇文章主要介紹了SpringBoot的配置文件(properties與yml)使用方法,需要的朋友可以參考下
    2023-08-08
  • Java軟件設(shè)計模式之適配器模式詳解

    Java軟件設(shè)計模式之適配器模式詳解

    這篇文章主要介紹了Java軟件設(shè)計模式之適配器模式詳解,適配器模式可分為對象適配器和類適配器兩種,在對象適配器模式中,適配器與適配者之間是關(guān)聯(lián)關(guān)系;在類適配器模式中,適配器與適配者之間是繼承(或?qū)崿F(xiàn))關(guān)系,需要的朋友可以參考下
    2023-07-07
  • 基于springboot和redis實現(xiàn)單點登錄

    基于springboot和redis實現(xiàn)單點登錄

    這篇文章主要為大家詳細(xì)介紹了基于springboot和redis實現(xiàn)單點登錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • SpringBoot + validation 接口參數(shù)校驗的思路詳解

    SpringBoot + validation 接口參數(shù)校驗的思路詳解

    這篇文章主要介紹了SpringBoot + validation 接口參數(shù)校驗,本文通過項目實踐+場景分析給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • elasticsearch插件開發(fā)教程

    elasticsearch插件開發(fā)教程

    這篇文章主要為大家詳細(xì)介紹了elasticsearch插件開發(fā)教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評論

杂多县| 平远县| 闵行区| 肥东县| 昭苏县| 闸北区| 江城| 嫩江县| 忻城县| 太仓市| 万州区| 阳城县| 巴塘县| 兰考县| 攀枝花市| 赤水市| 酉阳| 抚宁县| 锡林浩特市| 漳浦县| 融水| 苏州市| 澜沧| 鸡西市| 镇江市| 错那县| 宣汉县| 镇康县| 郎溪县| 城步| 南木林县| 江城| 齐河县| 盐山县| 大田县| 凤翔县| 濮阳县| 西乌珠穆沁旗| 大港区| 湖州市| 太白县|