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 MyBatisDemo und die Tabelle course erstellen
Wie Sie das Projekt MyBatisCourseDemo einrichten
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
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"])
java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"])
java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"])
java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"])
java/DataStructuresGroup -.-> java/collections_methods("Collections Methods")
java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects")
java/ObjectOrientedandAdvancedConceptsGroup -.-> java/jdbc("JDBC")
java/FileandIOManagementGroup -.-> java/files("Files")
java/FileandIOManagementGroup -.-> java/io("IO")
java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working")
subgraph Lab Skills
java/collections_methods -.-> lab-300346{{"Mehrfaches Einfügen von Daten in den Kursplan"}}
java/classes_objects -.-> lab-300346{{"Mehrfaches Einfügen von Daten in den Kursplan"}}
java/jdbc -.-> lab-300346{{"Mehrfaches Einfügen von Daten in den Kursplan"}}
java/files -.-> lab-300346{{"Mehrfaches Einfügen von Daten in den Kursplan"}}
java/io -.-> lab-300346{{"Mehrfaches Einfügen von Daten in den Kursplan"}}
java/working -.-> lab-300346{{"Mehrfaches Einfügen von Daten in den Kursplan"}}
end
Starte den Datenbankdienst und erstelle 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 MyBatisDemo und die Tabelle course, 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.
Richte das Projekt MyBatisCourseDemo ein
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/
Implementiere das Einfügen von Kursdaten in großen Mengen
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.java im Verzeichnis /src/main/java/org/labex/mapper/ und fügen Sie den folgenden Code hinzu:
Öffnen Sie die Datei MyBatisTest.java im 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:
We use cookies for a number of reasons, such as keeping the website reliable and secure, to improve your experience on our website and to see how you interact with it. By accepting, you agree to our use of such cookies. Privacy Policy