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

mybatis if test 不為空字符串且不為null的問題

 更新時間:2022年03月12日 10:10:06   作者:xinyuezitang  
這篇文章主要介紹了mybatis if test 不為空字符串且不為null的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

if test不為空字符串且不為null

在mybatis中if test 

判斷不為空字串和null的時候,報了sql 語法錯誤

xml文件:

WHERE enable =1
<if test="keyword != null AND keyword != ''">
        AND ( mac_id = #{keyword} )
        OR ( user_id = #{keyword} )
 </if>

postman工具報錯如下:

在這里插入圖片描述

原因:

if 判斷中, 出現(xiàn)字母大小寫錯誤, 不符合mybatis 語法規(guī)范

在這里插入圖片描述

在mybatis中, if test 語法

1 判斷不為null

WHERE 1=1
<if test="keyword != null ">
? ? ? ? AND ?user_id = #{keyword}?
</if>

2 判斷不為空字符串

WHERE 1=1
<if test="keyword != '' ">
? ? ? ? AND ?user_id = #{keyword}?
</if>

3 判斷不為null 且 不為空字符串

WHERE 1=1
<if test="keyword != null and keyword != ''">
? ? ? ? AND ?user_id = #{keyword}?
</if>

Controller層 —> 對應(yīng)xml 文件

我們在獲取列表時,通常會根據(jù)關(guān)鍵詞進行精確或模糊查詢,就會對關(guān)鍵詞進行非空或者非null的判斷。如下:

Controller層請求參數(shù)keyword請求參數(shù)默認值Dao層Xml 文件
@RequestParam(value = “keyword”, required = false) String keywordnullif test="keyword != null "
@RequestParam(value = “keyword”, required = false, defaultValue = “”) String keyword空字符串if test="keyword != ‘’ "
/不清楚默認值都可以if test=“keyword != null and keyword != ‘’”
參數(shù)默認值Dao層Xml 文件
從其他渠道的獲取的數(shù)據(jù)或關(guān)鍵詞不清楚默認值if test=“keyword != null and keyword != ‘’”

mybatis把0當(dāng)做空字符串

在開發(fā)中,一般在sqlmap中都會判斷參數(shù)是否為null,以及是否為空字符串

當(dāng)參數(shù)為Int類型 0時,myBatis自動把0定義為空字符串“”

我們在可能入?yún)?的地方多加一個判斷

?<if test="authorizeAmount != null and ''!= authorizeAmount or authorizeAmount==0">
? ? ? ? ? ? ,a.AUTHORIZE_AMOUNT = #{authorizeAmount,jdbcType=VARCHAR}
? ? ? ? </if>

這是一個比較容易粗心的地方,出問題也不容易排查,記錄下來提醒自己!

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

相關(guān)文章

  • SpringBoot使用jsoup爬取HTML的方法

    SpringBoot使用jsoup爬取HTML的方法

    jsoup 是一款 Java 的 HTML 解析器,它提供了一套非常便利的 API,可通過 DOM、CSS 通過類似于 JQuery 的操作方法來取出和操作數(shù)據(jù),這篇文章主要介紹了SpringBoot使用jsoup爬取HTML,需要的朋友可以參考下
    2024-02-02
  • 使用java代碼實現(xiàn)保留小數(shù)點的位數(shù)

    使用java代碼實現(xiàn)保留小數(shù)點的位數(shù)

    因為個人應(yīng)用的需要,所以就寫個簡單點的了。希望大家都給給建議,共同學(xué)習(xí)。需要的朋友也可以參考下
    2013-07-07
  • Java實現(xiàn)郵件找回密碼功能

    Java實現(xiàn)郵件找回密碼功能

    這篇文章主要為大家詳細介紹了Java實現(xiàn)郵件找回密碼功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • mybatis generator只能生成insert和selectAll的操作

    mybatis generator只能生成insert和selectAll的操作

    這篇文章主要介紹了mybatis generator只能生成insert和selectAll的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • SpringBoot 返回Html界面的操作代碼

    SpringBoot 返回Html界面的操作代碼

    這篇文章主要介紹了SpringBoot 返回Html界面的相關(guān)資料,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • java 串口通信實現(xiàn)流程示例

    java 串口通信實現(xiàn)流程示例

    這篇文章主要介紹了java 串口通信實現(xiàn)流程示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 怎么把本地jar包放入本地maven倉庫和遠程私服倉庫

    怎么把本地jar包放入本地maven倉庫和遠程私服倉庫

    這篇文章主要介紹了怎么把本地jar包放入本地maven倉庫和遠程私服倉庫的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Mybatis plus枚舉處理器的具體使用

    Mybatis plus枚舉處理器的具體使用

    在開發(fā)中,數(shù)據(jù)庫表中的字段很常見會使用枚舉類型來表示一些固定的取值范圍,本文主要介紹了Mybatis plus枚舉處理器的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • mybatis Map查詢結(jié)果下劃線轉(zhuǎn)駝峰的實例

    mybatis Map查詢結(jié)果下劃線轉(zhuǎn)駝峰的實例

    這篇文章主要介紹了mybatis Map查詢結(jié)果下劃線轉(zhuǎn)駝峰的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java對中文進行排序的實現(xiàn)示例

    Java對中文進行排序的實現(xiàn)示例

    工作中,我們經(jīng)常會遇到需要進行各種排序的需求,本文主要介紹了Java對中文進行排序的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02

最新評論

漳州市| 旬邑县| 怀来县| 枣阳市| 彭州市| 孝义市| 宣武区| 张家港市| 邯郸县| 临沂市| 安仁县| 咸阳市| 芒康县| 峨眉山市| 尼勒克县| 甘谷县| 台江县| 北碚区| 卢龙县| 团风县| 河源市| 南康市| 车险| 嘉禾县| 年辖:市辖区| 长白| 长顺县| 诏安县| 济南市| 枣阳市| 靖西县| 抚顺县| 德州市| 武山县| 攀枝花市| 乃东县| 天峨县| 吉安县| 景德镇市| 信丰县| 乌海市|