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

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

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

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

在mybatis中if test 

判斷不為空字串和null的時(shí)候,報(bào)了sql 語法錯誤

xml文件:

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

postman工具報(bào)錯如下:

在這里插入圖片描述

原因:

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 文件

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

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

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

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

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

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

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

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

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

相關(guān)文章

  • SpringBoot使用jsoup爬取HTML的方法

    SpringBoot使用jsoup爬取HTML的方法

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

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

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

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

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

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

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

    SpringBoot 返回Html界面的操作代碼

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

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

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

    怎么把本地jar包放入本地maven倉庫和遠(yuǎn)程私服倉庫

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

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

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

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

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

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

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

最新評論

华亭县| 龙海市| 乌拉特中旗| 澄江县| 天津市| 金昌市| 岳西县| 洛扎县| 临泽县| 焉耆| 政和县| 固阳县| 泾阳县| 榆社县| 古蔺县| 荥经县| 英超| 元朗区| 清原| 嵊州市| 洛扎县| 吐鲁番市| 军事| 余江县| 吴堡县| 云林县| 肇东市| 怀远县| 突泉县| 宜丰县| 乐业县| 柳州市| 赣榆县| 隆化县| 彰化县| 田阳县| 安平县| 泽普县| 灵山县| 会昌县| 扎赉特旗|