主頁(yè) > 知識(shí)庫(kù) > 解決myBatis中刪除條件的拼接問(wèn)題

解決myBatis中刪除條件的拼接問(wèn)題

熱門標(biāo)簽:湖南人工外呼系統(tǒng)多少錢 石家莊電商外呼系統(tǒng) 信陽(yáng)穩(wěn)定外呼系統(tǒng)運(yùn)營(yíng)商 南通自動(dòng)外呼系統(tǒng)軟件 百度地圖圖標(biāo)標(biāo)注中心 廣東人工電話機(jī)器人 日照旅游地圖標(biāo)注 芒果電話機(jī)器人自動(dòng)化 申請(qǐng)外呼電話線路

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

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

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

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

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

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

第一種刪除語(yǔ)句進(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>

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

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

您可能感興趣的文章:
  • Mybatis 中 Oracle 的拼接模糊查詢及用法詳解
  • MyBatis 動(dòng)態(tài)拼接Sql字符串的問(wèn)題
  • MyBatis MapperProvider MessageFormat拼接批量SQL語(yǔ)句執(zhí)行報(bào)錯(cuò)的原因分析及解決辦法

標(biāo)簽:公主嶺 呼和浩特 牡丹江 天津 合肥 惠州 沈陽(yáng) 阿里

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解決myBatis中刪除條件的拼接問(wèn)題》,本文關(guān)鍵詞  解決,myBatis,中,刪除,條件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解決myBatis中刪除條件的拼接問(wèn)題》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于解決myBatis中刪除條件的拼接問(wèn)題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章