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

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

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

使用Mybatis遇到的坑之Integer類型參數(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進行空字符串的判斷,因為什么呢?

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

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

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

當有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>

原因分析

總結

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

相關文章

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

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

    Spring Boot提供了強大的事件模型,其中包括多種內置監(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編譯報錯:找不到符號的相關資料,提供了排查步驟和解決方法,通過這些步驟,開發(fā)者可以有效地找到并解決編譯器拋出的找不到符號錯誤,從而提高開發(fā)效率,需要的朋友可以參考下
    2025-04-04
  • SpringBoot?LiteFlow引擎框架使用原理解析

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

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

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

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

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

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

    Java軟件設計模式之適配器模式詳解

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

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

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

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

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

    elasticsearch插件開發(fā)教程

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

最新評論

额尔古纳市| 江达县| 余姚市| 正镶白旗| 长泰县| 盐亭县| 鹤壁市| 拉萨市| 泸水县| 辰溪县| 宁海县| 建昌县| 合作市| 仪陇县| 铜梁县| 东辽县| 聂荣县| 绥芬河市| 南木林县| 台南县| 贵港市| 阳泉市| 弋阳县| 班玛县| 苏尼特右旗| 乌鲁木齐市| 麦盖提县| 广饶县| 毕节市| 额敏县| 鄂尔多斯市| 临高县| 南充市| 琼结县| 奇台县| 晋中市| 灵丘县| 阳高县| 涞水县| 建阳市| 鄂托克前旗|