Beim Betrieb der Datenbank begegnen Sie häufig die Stapelinsertion und die Stapeldeletion. Es ist einfach, dies direkt zu tun, indem SQL -Anweisungen ausgeführt werden. Es wird einige Probleme geben, wenn Sie MyBatis für die Stapelinsertion und die Löschung für Stapel verwenden. Das Folgende ist eine Einführung in die Stapelinsertion und die Stapeldeletion mit MyBatis.
1. Batchinsertion
Java -Code:
// modell: test.java@datapublic class test {private String x; private Zeichenfolge y; private string z;} // mapper: testMapper.javapublic void InsertTestList (Liste <Test> testlist);XML -Code
<!-xml: testMapper.xml-> ... <!-ignorieren Sie doppelte Daten-> <Insert id = "InsertTestList" ParameterType = "test"> Ignorieren Sie Ignorieren in test_table (test_x, test_y, test_z) Werte <foreach item = "ideen" index = "Index =" collection #{item.y}, #{item}.z</foreach></insert><!-- Update duplicate data--><insert id="insertTestList" parameterType="Test">INSERT INTO test_table(test_x, test_y, test_z)VALUES<foreach item="item" index="index" collection="list" open="(" close=")" separator = ","> #{item} .x, #{item.y}, #{item} .z </foreach> auf Duplicate Key Updatetest_x = values (test_x), test_y = values (test_y), test_z = values (test_z) </> ...Batch -SQL -Anweisungen einfügen
Einfügen in test_table (x, y, z) Werte (1, 1, 1), (2, 2, 2), (3, 3, 3)
Hinweis: value () ist eine Funktion von MySQL. Für eine spezifische Erläuterung finden Sie die Dokumentfunktion_Values.
Die Hauptfunktion besteht darin, den zu aktualisierenden Wert zu erhalten, wenn die Daten wiederholt werden.
2. Batch -Löschung
Java -Code:
// modell: test.java@datapublic class test {private String x; private Zeichenfolge y; private string z;} // mapper: testMapper.javapublic void deletetestlist (Liste <Test> testlist);XML -Code
<!-xml: testMapper.xml-> ... <delete id = "deletetestlist" parameterType = "test"> delete aus test_table wo <foreach item = "ideen" ideen "index" collection = "liste" open = "(" close = ")" separator #{item.z} </foreach> </delete> ...SQL -Anweisungen
Löschen Sie aus test_table where (test_x = 1 und test_y = 1 und test_z = 1) oder (test_x = 2 und test_y = 2 und test_z = 2) oder (test_x = 3 und test_y = 3 und test_z = 3)
HINWEIS: Der obige Code ist der Fall, in dem X, Y und Z die gemeinsamen Primärschlüssel sind und die allgemeine Situation dort verwendet, wo die ID in ist.
Das obige ist der vom Herausgeber eingeführte MyBatis -Insertion- und Löschen -Stapel -Betrieb. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!