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

17 hervorragende Webdesigns, sorgfältig von Startups entwickelt

Startups überraschen uns oft mit ihren unkonventi...

12 Gesetze des Webdesigns für sauberen Code [Grafik]

Schöner Code ist die Grundlage einer schönen Websi...

Details zu verschiedenen Schriftformaten in HTML-Webseiten

Dieser Abschnitt beginnt mit den Details der Text...

Von CSS 3D zur räumlichen Koordinatenachse mit Quellcode

Einmal haben wir über das Würfelspiel gesprochen....

Detaillierte Erklärung der Bind-Mounts für die Docker-Datenspeicherung

Bevor Sie diesen Artikel lesen, hoffe ich, dass S...

Details zu 7 Arten der Komponentenkommunikation in Vue3

Inhaltsverzeichnis 1. Kommunikationsmethode für V...

Installation und Verwendung von Vue

Inhaltsverzeichnis 1. Vue-Installation Methode 1:...

Tipps zum reflektierenden Lernen von JavaScript

Inhaltsverzeichnis 1. Einleitung 2. Schnittstelle...

Vor- und Nachteile von bedingten Kommentaren im Internet Explorer

Die bedingten Kommentare des Internet Explorers s...

JavaScript zum Erzielen eines Produktlupeneffekts

In diesem Artikel wird der spezifische JavaScript...

Tutorial zur Installation von MySQL 5.7.28 auf CentOS 6.2 (MySQL-Hinweise)

1. Umweltvorbereitung 1.MySQL-Installationspfad: ...