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

解決myBatis中刪除條件的拼接問題

 更新時(shí)間:2020年11月27日 14:41:32   作者:爽兒-歪歪  
這篇文章主要介紹了解決myBatis中刪除條件的拼接問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

今天剛剛學(xué)習(xí)了mybatis,做了簡單的對數(shù)據(jù)庫的增刪改查。在進(jìn)行刪除操作時(shí),單條刪除時(shí)很簡單,但是批量刪除的時(shí)候拼接刪除條件卻有些麻煩,現(xiàn)記錄一下做法。

Sql語句中,當(dāng)刪除條件并不唯一的時(shí)候,我們有兩種刪除的sql語句,一種使用or拼接where中的條件,例如delete from 表名where 條件1 or 條件2,另一種是使用in 例如delete from 表名where 元素in( )

利用第一種刪除語句在mybatis中的mapping.xml中進(jìn)行拼接:

利用第二種刪除語句在mybatis中的mapping.xml中進(jìn)行拼接:

以上刪除操作基本完成,但是,這樣有一個(gè)缺陷,當(dāng)查詢條件idList中沒有元素的時(shí)候,會(huì)刪除整個(gè)表ac01中的記錄。所以,我們需要對上述方法進(jìn)行改進(jìn)。

第二種刪除語句進(jìn)行改進(jìn)后:

第一種刪除語句進(jìn)行改進(jìn)后:

至此,刪除操作完美完成。

補(bǔ)充知識(shí):myBatis 查詢時(shí)注意and拼接條件

<!-- 加個(gè)條件 -->

<sql id="queryjiachaAllPageId">
 <where>
  <if test="danweimc !=null and danweimc !=''">
  and jcb.danweimc like '%${danweimc}%'
  </if>
  <if test="ge_jianchaks !=null and ge_jianchaks !=''">
  and DATE_FORMAT(jcb.jianchaks, '%Y-%m-%d') >= #{ge_jianchaks}
  </if>
  <if test="le_jianchaks != null and le_jianchaks != ''">
  and DATE_FORMAT(jcb.jianchaks, '%Y-%m-%d') &lt;= #{le_jianchaks}
  </if>
  
  <if test="jiancharxm !=null and jiancharxm !=''">
  and jcb.jiancharxm like '%${jiancharxm}%'
  </if>
  <if test="zhuangtai !=null and zhuangtai !=''">
  and yhb.zhuangtai = ${zhuangtai}
  </if>
  <if test="danweilb !=null and danweilb !=''">
  and yhb.yinhuanmc like '${danweilb}%'
  </if>
  <if test="jiedao != null and jiedao !='' and jiedao !='110105000000'">
  and jcb.jiedao=#{jiedao}
  </if>
  <if test="danweimcs != null and danweimcs !=''">
  and jcb.danweimc = #{danweimcs}
  </if>
 </where>
 </sql>

例如上訴問題 要么都加and ,要么都不加 ,一定要注意,如果有加and 和沒有加and的 查詢會(huì)報(bào)錯(cuò)

以上這篇解決myBatis中刪除條件的拼接問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Centos7使用yum安裝MySQL及實(shí)現(xiàn)遠(yuǎn)程連接的方法

    Centos7使用yum安裝MySQL及實(shí)現(xiàn)遠(yuǎn)程連接的方法

    因?yàn)镸ySQL被Oracle收購,目前推薦使用mariadb數(shù)據(jù)庫。下面通過本文給大家分享Centos7使用yum安裝MySQL及實(shí)現(xiàn)遠(yuǎn)程連接的方法,感興趣的朋友一起看看吧
    2017-07-07
  • mysql 列轉(zhuǎn)行,合并字段的方法(必看)

    mysql 列轉(zhuǎn)行,合并字段的方法(必看)

    下面小編就為大家?guī)硪黄猰ysql 列轉(zhuǎn)行,合并字段的方法(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • mysql?8.0版本更換用戶密碼的方法步驟

    mysql?8.0版本更換用戶密碼的方法步驟

    這篇文章主要給大家介紹了關(guān)于mysql?8.0版本更換用戶密碼的方法步驟,MySQL用戶密碼的修改是經(jīng)常面臨的一個(gè)問題,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • MySql游標(biāo)的使用實(shí)例

    MySql游標(biāo)的使用實(shí)例

    這篇文章主要介紹了MySql游標(biāo),需要的朋友可以參考下
    2014-06-06
  • SQL中Limit的基本與高級(jí)用法詳解

    SQL中Limit的基本與高級(jí)用法詳解

    在SQL中LIMIT是一個(gè)用于限制結(jié)果集返回的行數(shù)的子句,這篇文章主要給大家介紹了關(guān)于SQL中Limit的基本與高級(jí)用法,文中通過代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用sql具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-04-04
  • MySQL事務(wù)實(shí)現(xiàn)可重復(fù)讀

    MySQL事務(wù)實(shí)現(xiàn)可重復(fù)讀

    MySQL數(shù)據(jù)庫的默認(rèn)事務(wù)隔離級(jí)別是可重復(fù)讀,本文主要介紹了MySQL事務(wù)實(shí)現(xiàn)可重復(fù)讀,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • MySql增量恢復(fù)的幾種實(shí)現(xiàn)方法

    MySql增量恢復(fù)的幾種實(shí)現(xiàn)方法

    本文主要介紹了MySql增量恢復(fù)的幾種實(shí)現(xiàn)方法,通過增量備份與恢復(fù),可以在系統(tǒng)發(fā)生故障或數(shù)據(jù)損壞時(shí)快速恢復(fù)到最新狀態(tài),提高系統(tǒng)的可靠性和可用性,感興趣的可以了解一下
    2023-08-08
  • MySQL中的唯一性約束與NULL詳解

    MySQL中的唯一性約束與NULL詳解

    這里記錄的是很久之前的一個(gè) bug 了,主要給大家介紹了關(guān)于MySQL中唯一性約束與NULL的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • 深入理解Mysql事務(wù)隔離級(jí)別與鎖機(jī)制問題

    深入理解Mysql事務(wù)隔離級(jí)別與鎖機(jī)制問題

    MySQL默認(rèn)的事務(wù)隔離級(jí)別是可重復(fù)讀,用Spring開發(fā)程序時(shí),如果不設(shè)置隔離級(jí)別默認(rèn)用MySQL設(shè)置的隔離級(jí)別,如果Spring設(shè)置了就用已設(shè)置的隔離級(jí)別,本文重點(diǎn)給大家介紹Mysql事務(wù)隔離級(jí)別與鎖機(jī)制的相關(guān)知識(shí),一起看看吧
    2021-09-09
  • 有關(guān)mysql優(yōu)化的一些東東整理

    有關(guān)mysql優(yōu)化的一些東東整理

    有關(guān)mysql優(yōu)化的一些東東,自己整理的,網(wǎng)上搜集的,供朋友們學(xué)習(xí)參考吧
    2013-02-02

最新評論