欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis中<if>標(biāo)簽bool值類型為false判斷方法

 更新時(shí)間:2019年08月08日 09:21:15   作者:java歐陽(yáng)豐  
這篇文章主要給大家介紹了關(guān)于mybatis中<if>標(biāo)簽bool值類型為false判斷方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mybatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

昨天實(shí)現(xiàn)一個(gè)功能,根據(jù)文章的id或者別名查找文章。

起初采用mybatis的Example進(jìn)行查詢,對(duì)參數(shù)artName進(jìn)行判斷,如果是純數(shù)字就byId查詢,否則就by別名。由于查詢文章的同時(shí),需要關(guān)聯(lián)查詢文章分類標(biāo)簽,所以選擇采用select語(yǔ)句映射的方式查詢,但又不想寫兩個(gè)查詢方法,就使用了mybatis中動(dòng)態(tài)sql。

/**
 * 查詢文章
 * @param artName id 或 別名
 * @param byId 如果是 true 則按照id查詢
 *    否則 按照別名查詢
 * @return
 */
public Article selectByArtName(@Param(value = "artName") String artName,
       @Param(value = "byId") Boolean byId);

mapper中定義了一個(gè)方法,有artName和byId兩個(gè)參數(shù),artName 表示id 或 別名,byId表示是否通過(guò)id查詢。
對(duì)byId Boolean值進(jìn)行判斷時(shí),出現(xiàn)false值無(wú)效的情況,在百度了一圈發(fā)現(xiàn),普遍采用

<if test="byId != null">
  a.id = #{artName}
</if>

這種方式,當(dāng)byId=true時(shí)正常執(zhí)行,但為false時(shí)不生效。后采用<choose>標(biāo)簽

<choose>
  <when test="byId">
    a.id = #{artName}
  </when>
  <otherwise>
    a.alias = #{artName}
  </otherwise>
</choose>

byId本身是bool值,不用進(jìn)行判斷。

注意: byId不用加#{},不然false也會(huì)無(wú)效,如果加了#{}, 在與其他值進(jìn)行比較時(shí),
如: #{byId} == true 會(huì)報(bào)空指針錯(cuò)誤,如果寫成#{byId} == 'true'   會(huì)報(bào)Linkhashmap無(wú)法轉(zhuǎn)換成String類型錯(cuò)誤。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Java并發(fā)編程之原子操作類詳情

    Java并發(fā)編程之原子操作類詳情

    這篇文章主要介紹了Java并發(fā)編程之原子操作類詳情,文章基于Java并發(fā)編程展開(kāi)相關(guān)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • Java模板動(dòng)態(tài)生成word文件的方法步驟

    Java模板動(dòng)態(tài)生成word文件的方法步驟

    最近項(xiàng)目中需要根據(jù)模板生成word文檔,模板文件也是word文檔。本文使用使用freemarker模板生成word文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Spring Security保護(hù)用戶密碼常用方法詳解

    Spring Security保護(hù)用戶密碼常用方法詳解

    這篇文章主要介紹了Spring Security保護(hù)用戶密碼常用方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • java后端pageHelper分頁(yè)實(shí)現(xiàn)方法步驟

    java后端pageHelper分頁(yè)實(shí)現(xiàn)方法步驟

    這篇文章主要給大家介紹了關(guān)于java后端pageHelper分頁(yè)實(shí)現(xiàn)方法的相關(guān)資料,在我們的Java項(xiàng)目中分頁(yè)是必不可少的數(shù)據(jù)展示頁(yè)面,文中通過(guò)圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • spring單元測(cè)試下模擬rabbitmq的實(shí)現(xiàn)

    spring單元測(cè)試下模擬rabbitmq的實(shí)現(xiàn)

    這篇文章主要介紹了spring單元測(cè)試下模擬rabbitmq的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 最好的Java 反編譯工具的使用對(duì)比分析

    最好的Java 反編譯工具的使用對(duì)比分析

    恰好最近工作中也需要用到 Java 反編譯,所以這篇文章介紹目前常見(jiàn)的的幾種 Java 反編譯工具的使用,在文章的最后也會(huì)通過(guò)編譯速度、語(yǔ)法支持以及代碼可讀性三個(gè)維度,對(duì)它們進(jìn)行測(cè)試,分析幾款工具的優(yōu)缺點(diǎn),感興趣的朋友一起看看吧
    2021-05-05
  • Spring官網(wǎng)下載各版本jar包的方法

    Spring官網(wǎng)下載各版本jar包的方法

    這篇文章主要介紹了Spring官網(wǎng)下載各版本jar包的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • Java之Spring Bean 作用域和生命周期

    Java之Spring Bean 作用域和生命周期

    這篇文章主要介紹了Java Bean的作用域和生命周期,Bean 的作用域是指 Bean 在 Spring 整個(gè)框架中的某種行為模式,所謂的?命周期指的是?個(gè)對(duì)象從誕?到銷毀的整個(gè)?命過(guò)程,我們把這個(gè)過(guò)程就叫做?個(gè)對(duì)象的?命周期,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • springboot接收日期字符串參數(shù)與返回日期字符串類型格式化

    springboot接收日期字符串參數(shù)與返回日期字符串類型格式化

    這篇文章主要介紹了springboot接收日期字符串參數(shù)與返回日期字符串類型格式化,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • SpringMVC?HttpMessageConverter報(bào)文信息轉(zhuǎn)換器

    SpringMVC?HttpMessageConverter報(bào)文信息轉(zhuǎn)換器

    這篇文章主要為大家介紹了SpringMVC?HttpMessageConverter報(bào)文信息轉(zhuǎn)換器,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評(píng)論