Lösen Sie das Spleißproblem beim Löschen von Bedingungen in myBatis

Lösen Sie das Spleißproblem beim Löschen von Bedingungen in myBatis

Ich habe heute gerade Mybatis gelernt und einige einfache Hinzufügungen, Löschungen, Änderungen und Abfragen an der Datenbank vorgenommen. Beim Ausführen eines Löschvorgangs ist es sehr einfach, einen einzelnen Datensatz zu löschen. Beim stapelweisen Löschen ist es jedoch etwas mühsam, die Löschbedingungen zusammenzufügen. Nachfolgend finden Sie eine Aufzeichnung der Methode.

Wenn die Löschbedingung in SQL-Anweisungen nicht eindeutig ist, gibt es zwei Arten von SQL-Anweisungen zum Löschen. Eine besteht darin, die Bedingungen in where zu verwenden oder zu verketten, z. B. „Löschen aus Tabellenname“, wobei Bedingung 1 oder Bedingung 2 ist, und die andere darin, in zu verwenden, z. B. „Löschen aus Tabellenname“, wobei Element in () ist.

Verwenden Sie die erste Löschanweisung, um mapping.xml in mybatis einzufügen:

Verwenden Sie die zweite Löschanweisung, um mapping.xml in mybatis einzufügen:

Der obige Löschvorgang ist grundsätzlich abgeschlossen. Es gibt jedoch einen Fehler. Wenn in der Abfragebedingung idList kein Element vorhanden ist, werden die Datensätze in der gesamten Tabelle ac01 gelöscht. Daher müssen wir die obige Methode verbessern.

Die zweite Löschanweisung wurde verbessert:

Nachdem die erste Löschanweisung verbessert wurde:

An diesem Punkt ist der Löschvorgang vollständig abgeschlossen.

Zusatzwissen: Achten Sie bei der Abfrage von myBatis auf die Spleißbedingungen

<!-- Eine Bedingung hinzufügen-->

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

So wird beispielsweise bei den Einspruchsfragen entweder „und“ oder „nein“ angehängt. Bitte beachten Sie, dass bei einer „und“- oder „nein“-Abfrage ein Fehler gemeldet wird.

Der obige Artikel zur Lösung des Spleißproblems beim Löschen von Bedingungen in myBatis ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen und ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • Mybatis-plus verwendet Condition zum Verketten von SQL-Anweisungen
  • MyBatis verkettet SQL-Strings dynamisch
  • MybatisPlus implementiert die umgekehrte Verkettung von Zeichenfolgen

<<:  Vue implementiert WebSocket-Kundendienst-Chatfunktion

>>:  Anweisungen zur Verwendung der Option --rm von Docker Run

Artikel empfehlen

Entwerfen Sie eine einfache HTML-Anmeldeoberfläche im CSS-Stil

login.html-Teil: <!DOCTYPE html> <html l...

Javascript-Grundlagen zu integrierten Objekten

Inhaltsverzeichnis 1. Einführung in integrierte O...

Lernen Sie schnell die MySQL-Grundlagen

Inhaltsverzeichnis SQL verstehen SELECT verstehen...

Erläuterung der Lösung zur mobilen H5-Bildgenerierung in JavaScript

Derzeit gibt es viele Betriebsaktivitäten für öff...

CSS erzielt den „Bottom Absorption“-Effekt im Footer

Wir stoßen häufig auf dieses Problem: Wie kann ma...

Analyse des Uniapp-Einsteiger-NVUE-Klettergrubenrekords

Inhaltsverzeichnis Vorwort Hallo Welt Bild Rahmen...

Docker-Bereitstellung – Springboot-Projektbeispielanalyse

Dieser Artikel stellt hauptsächlich die Beispiela...

CSS zum Implementieren von QQ-Browserfunktionen

Code Wissenspunkte 1. Kombinieren Sie fullpage.js...

Eine kurze Analyse des MySQL-Index

Ein Datenbankindex ist eine Datenstruktur, deren ...

jQuery-Plugin zur Implementierung des sekundären Akkordeonmenüs

Dieser Artikel verwendet ein jQuery-Plugin, um ei...