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

Mybatis的xml中使用if/else標簽的具體使用

 更新時間:2022年05月16日 09:32:08   作者:Hi梅  
本文主要介紹了Mybatis的xml中使用if/else標簽的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

使用if標簽進行查詢

		SELECT
			orderNo,
			adname,
			orderstatus
		FROM
			order_A
		where
			<if test="order!=null">
				order=#{order}
			</if>
			<if test="title!=null">
				and title=#{title}
			</if>

需要注意的是:如果第一個if的order為null的話 第二值title也為null的話運行會報錯,就算第一個if等于null 那么查詢語句變成 where and title='哈哈哈' 這樣運行的話也會出現(xiàn)錯誤。

where標簽出場

		SELECT
			orderNo,
			adname,
			orderstatus
		FROM
			order_A
		<where>
			<if test="order!=null">
				order=#{order}
			</if>
			<if test="order!=null">
				and title=#{title}
			</if>
		</where>

where 元素只會在至少有一個子元素的條件返回 SQL 子句的情況下才去插入WHERE子句。而且,若語句的開頭為AND或OR,where 元素也會將它們?nèi)コ?。這個只能解決2個值都為空。
不能解決order值為空但是title值為空時還是會出現(xiàn)語句錯誤的情況,這個時候我們可以在and 前面用1=1或者true來解決

如:

或這樣

if/else 使用 choose,when,otherwise 代替

由于Mybatis中沒有else標簽但是可以通過choose,when,otherwise來使用

SELECT
			orderNo,
			adname,
			orderstatus
FROM
	<choose>
		<when test=" platformtype != null and platformtype.trim() != '' and platformtype == 1">
			 `orders_A` as orderTable
		</when>
		<when test=" platformtype != null and platformtype.trim() != '' and platformtype == 2">
			 `orders_B` as orderTable
		</when>
		<when test="  platformtype != null and platformtype.trim() != '' and platformtype == 3">
			 `orders_C` as orderTable
		</when>
		<otherwise>
			 `orders_A` as orderTable
		</otherwise>
	</choose>

翻譯一下上面的語句:

當platformtype 值不為空并且把platformtype 值進行去除空字符串,并且值等于1時
就會把表orders_A進行拼接,如果條件都不符合的話就會走otherwise標簽默認拼接orders_A表進行查詢

choose,when,otherwise標簽有點像Java中的switch 當where的test值滿足時會拼接里面的表,otherwise表示其他when標簽都不滿足時執(zhí)行拼接

到此這篇關(guān)于Mybatis的xml中使用if/else標簽的具體使用的文章就介紹到這了,更多相關(guān)Mybatis xml=使用if/else標簽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring中SmartLifecycle的用法解讀

    Spring中SmartLifecycle的用法解讀

    這篇文章主要介紹了Spring中SmartLifecycle的用法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot項目中使用騰訊云發(fā)送短信的實現(xiàn)

    SpringBoot項目中使用騰訊云發(fā)送短信的實現(xiàn)

    本文主要介紹了SpringBoot項目中使用騰訊云發(fā)送短信的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • JAVA面向?qū)ο笤O計寵物類方式

    JAVA面向?qū)ο笤O計寵物類方式

    本指南涉及JAVA面向?qū)ο蟮膶櫸镱愒O計,包括寵物類的父類及其子類小貓類和小狗類,用戶可以選擇養(yǎng)貓或養(yǎng)狗,給寵物起名字,實現(xiàn)喂食互動,同時寵物具有飽食度和快樂度屬性,適合初學者學習面向?qū)ο笤O計
    2024-10-10
  • Java的osgi從基礎到實踐

    Java的osgi從基礎到實踐

    OSGi是Java的動態(tài)模塊化系統(tǒng),通過Bundle實現(xiàn)模塊化部署與依賴管理,支持運行時動態(tài)安裝、更新和卸載,提供服務注冊與發(fā)現(xiàn)機制,解決JAR地獄問題,適用于企業(yè)級和嵌入式系統(tǒng)開發(fā),本文給大家介紹Java的osgi從基礎到實踐,感興趣的朋友一起看看吧
    2025-09-09
  • Java并發(fā)編程之threadLocal

    Java并發(fā)編程之threadLocal

    ThreadLocal是JDK包提供的,它提供了線程本地變量,也就是說如果創(chuàng)建了一個ThreadLocal變量,需要的朋友可以參考一下喲
    2021-09-09
  • Java日常練習題,每天進步一點點(30)

    Java日常練習題,每天進步一點點(30)

    下面小編就為大家?guī)硪黄狫ava基礎的幾道練習題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • java虛擬機多線程進階篇總結(jié)

    java虛擬機多線程進階篇總結(jié)

    在本篇內(nèi)容里小編給大家整理了關(guān)于java虛擬機多線程進階篇的相關(guān)知識點內(nèi)容,有興趣的朋友們跟著參考下。
    2019-06-06
  • Spring配置使用之Bean生命周期詳解

    Spring配置使用之Bean生命周期詳解

    這篇文章主要介紹了Spring配置使用之Bean生命周期詳解,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • 使用spring的IOC解決程序耦合的方法

    使用spring的IOC解決程序耦合的方法

    這篇文章主要介紹了使用spring的IOC解決程序耦合的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Struts 2中的constant配置詳解

    Struts 2中的constant配置詳解

    通過對這些屬性的配置,可以改變Struts 2 框架的一些默認行為,這些配置可以在struts.xml文件中完成,也可以在struts.properties文件中完成
    2016-09-09

最新評論

大方县| 兴和县| 邻水| 长岛县| 沈阳市| 大姚县| 海伦市| 丹江口市| 神木县| 平乡县| 凤山县| 商洛市| 博客| 河源市| 太谷县| 津南区| 靖州| 西乡县| 温州市| 额济纳旗| 肇源县| 罗田县| 阿图什市| 略阳县| 双牌县| 射阳县| 陵水| 肃北| 梁平县| 义乌市| 伽师县| 宜州市| 广灵县| 城固县| 泸溪县| 乐平市| 进贤县| 澄城县| 绍兴县| 德钦县| 越西县|