Einführung
In diesem Projekt lernen Sie, wie Sie mit MyBatis, einem beliebten Java-Persistence-Framework, Daten in einen Kursplan in großen Mengen einfügen. Dieses Projekt führt Sie durch den Prozess des Einrichtens der Datenbank, Erstellen der erforderlichen Tabellen und Implementieren der Funktionalität zum Einfügen von Daten in großen Mengen.
👀 Vorschau

🎯 Aufgaben
In diesem Projekt lernen Sie:
- Wie Sie den Datenbankdienst starten und die Datenbank
MyBatisDemound die Tabellecourseerstellen - Wie Sie das Projekt
MyBatisCourseDemoeinrichten - Wie Sie die Einfügung von Kursdaten in großen Mengen mit dem
<foreach>-Tag in MyBatis implementieren
🏆 Errungenschaften
Nach Abschluss dieses Projekts werden Sie in der Lage sein:
- Mit MyBatis interagieren, um mit einer Datenbank zu arbeiten
- Den
<foreach>-Tag in MyBatis verwenden, um das Einfügen von Daten in großen Mengen durchzuführen - Ein Java-Projekt mit MyBatis einrichten und konfigurieren
Starten Sie den Datenbankdienst und erstellen Sie die Kurs-Tabelle
In diesem Schritt lernen Sie, wie Sie den Datenbankdienst starten, die Datenbank MyBatisDemo erstellen, die Tabelle course erstellen und die initialen Daten importieren.
- Starte den MySQL-Datenbankdienst:
cd ~/project
sudo service mysql start
- Erstelle die Datenbank
MyBatisDemound die Tabellecourse, indem Sie das SQL-Skript ausführen:
mysql -u root < ~/project/course.sql && rm course.sql
Dieser Befehl führt das SQL-Skript, das sich im Verzeichnis ~/project/course.sql befindet, aus, um die erforderliche Datenbank und Tabelle zu erstellen. Nachdem das Skript ausgeführt wurde, wird die Datei course.sql gelöscht.
Einrichten des MyBatisCourseDemo-Projekts
In diesem Schritt richten Sie das Projekt MyBatisCourseDemo ein, das als Grundlage zum Bewältigen der Herausforderung zur Verfügung gestellt wird.
- Navigiere zum Projektverzeichnis:
cd ~/project/MyBatisCourseDemo/
Implementieren Sie das Mehrfach-Einfügen von Kursdaten
In diesem Schritt fügen Sie die folgenden drei Datensätze gleichzeitig (in großen Mengen) in den Kursplan hinzu, indem Sie das <foreach>-Tag in MyBatis verwenden.
- Kurs-ID: 8, Kursname: Golang-Sprache, Dozent: Amy
- Kurs-ID: 9, Kursname: Oracle, Dozent: Bob
- Kurs-ID: 10, Kursname: Big Data, Dozent: Jone
- Öffnen Sie die Datei
CourseMapper.javaim Verzeichnis/src/main/java/org/labex/mapper/und fügen Sie den folgenden Code hinzu:
package org.labex.mapper;
import java.util.List;
import org.labex.pojo.Course;
public interface CourseMapper {
void insertCourses(List<Course> courses);
}
- Öffnen Sie die Datei
CourseMapper.xmlund fügen Sie den folgenden Code hinzu:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.labex.mapper.CourseMapper">
<insert id="insertCourses" parameterType="java.util.List">
INSERT INTO course (cNo, cName, teacher)
VALUES
<foreach collection="list" item="course" separator=",">
(#{course.cNo}, #{course.cName}, #{course.teacher})
</foreach>
</insert>
</mapper>
- Öffnen Sie die Datei
MyBatisTest.javaim Verzeichnis/src/test/java/org/labex/test/und fügen Sie den folgenden Code hinzu:
package org.labex.test;
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import org.labex.mapper.CourseMapper;
import org.labex.pojo.Course;
public class MyBatisTest {
SqlSessionFactory sessionFactory = null;
SqlSession session = null;
@Before
public void before() throws IOException {
String resource = "mybatis-config.xml";
// Lade die MyBatis-Konfigurationsdatei
Reader reader = Resources.getResourceAsReader(resource);
// Erstelle eine SqlSessionFactory
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
// Erstelle ein SqlSession-Objekt, um SQL-Anweisungen aus den Mapping-Dateien auszuführen
session = sessionFactory.openSession();
}
@Test
public void testInsertCourses() {
// Erstelle eine Liste von Course-Objekten, die eingefügt werden sollen
List<Course> courses = new ArrayList<>();
courses.add(new Course(8, "Golang-Sprache", "Amy"));
courses.add(new Course(9, "Oracle", "Bob"));
courses.add(new Course(10, "Big Data", "Jone"));
// Holen Sie sich die CourseMapper-Instanz
CourseMapper courseMapper = session.getMapper(CourseMapper.class);
// Rufen Sie die insertCourses-Methode mit der Liste der Kurse auf
courseMapper.insertCourses(courses);
// Bestätigen Sie die Transaktion
session.commit();
// Schließen Sie die Sitzung
session.close();
}
}
- Führen Sie den Testfall aus, um die Lösung zu überprüfen:
mvn test
Die Ausgabenergebnisse verweisen auf Folgendes:

Zusammenfassung
Herzlichen Glückwunsch! Sie haben dieses Projekt abgeschlossen. Sie können in LabEx weitere Übungen absolvieren, um Ihre Fähigkeiten zu verbessern.



