1. Grundvoraussetzungen für die DatenbankprogrammierungWenn Sie Code zum Betrieb der Datenbank implementieren möchten, sind die folgenden Bedingungen Ihre Voraussetzungen für die Implementierung Programmiersprache: Beispielsweise können Java, C++, Python usw. alle diese Sprachen Datenbanken betreiben Operationen auf einer Datenbank: Beispielsweise habe ich im vorherigen Kapitel die Funktionsweise von MySQL vorgestellt. Um andere Datenbanken wie Oracle, SQL Server usw. zu implementieren, müssen Sie auch einige Vorgänge der entsprechenden Datenbank erlernen. Installieren Sie das Datenbanktreiberpaket: Verschiedene Datenbanken stellen unterschiedliche Datenbanktreiberpakete für unterschiedliche Programmiersprachen bereit. Diese Treiberpakete implementieren die APIs zum Betrieb der entsprechenden Datenbanken. 2. Datenbankprogrammierung in Java: JDBCDa verschiedene Datenbankanbieter Datenbank-APIs unterschiedlich implementieren, kapseln viele Sprachen diese Datenbank-APIs erneut, um einen einheitlichen Satz von APIs zu bilden. Auf diese Weise können Sie mehrere verschiedene Datenbanken über einen Satz von Code betreiben In Java wird eine solche Kapselung durch die Java-Standardbibliothek durchgeführt, die eine einheitliche Datenbank-API namens JDBC kapselt. expandieren: Java selbst ist eine plattformübergreifende Sprache. Obwohl verschiedene Betriebssysteme unterschiedliche APIs bereitstellen, kapselt Java selbst diese APIs und bietet eine einheitliche Schnittstelle in der Standardbibliothek. Daher kann Java einmal kompiliert und überall ausgeführt werden. JDBC-Einführung:
3. JDBC-Zugriffsdatenbankhierarchie4. Einführung in MySQL-DatenbankoperationenIm vorherigen Kapitel habe ich einige Kenntnisse zu MySQL vorgestellt. Wenn Sie in diesem Bereich Lücken haben, können Sie diese im folgenden Artikel direkt ergänzen. Link zu Kapitel 1: [MySQL-Datenbank] Grundlegende Datenbankkenntnisse Kapitel 2 Link: [MySQL-Datenbank] MySQL-Datenbankoperationen und Datentypen Link zu Kapitel 3: [MySQL-Datenbank] Grundlegende Operationen an Datentabellen Link zu Kapitel 4: [MySQL-Datenbank] Datenbankbeschränkungen und Entwurfsprinzipien für Datentabellen Link zu Kapitel 5: [MySQL-Datenbank] Aggregatabfrage- und Union-Abfrageoperationen Kapitel 6 Link: [MySQL-Datenbank] MySQL-Indizes und -Transaktionen 5. Laden Sie das MySQL-Treiberpaket herunter und fügen Sie es dem Projekt hinzuDa der MySQL JDBC-Treiber nicht im System enthalten ist, müssen Sie ihn separat herunterladen und installieren. Auf den offiziellen Websites der wichtigsten Datenbanken finden Sie JDBC-Treiber für die entsprechenden Datenbanken. Hier empfehle ich jedoch die Verwendung einiger zentraler Repositorys zum Herunterladen, z. B. mvnrepository
6. Schritte zur JDBC-Verwendung6.1 Datenbankquelle erstellen und verbindenErstellen Sie eine Datenbankquelle: Datenquelle Datenquelle = neue MysqlDataSource(); // DataSource ist eine Schnittstelle aus der Java-Standardbibliothek, die verwendet wird, um anzugeben, „wo sich die Datenbank befindet“ // MysqlDataSource ist ein Treiberpaket von MySQL. Es ist eine Klasse, die die DataSource-Schnittstelle implementiert Die Datenbank ist ein Serverprogramm. Legen Sie die Datenbankstandortinformationen auf // 1) Verwenden Sie eine URL, um die verbundene Datenbank, die Datenbank-IP, den Port, den Datenbanknamen, die Kodierungsmethode und ob verschlüsselt werden soll anzugeben ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&setSSL=false"); // 2) Legen Sie den Benutzernamen für die Anmeldung bei der Datenbank fest ((MysqlDataSource)dataSource).setUser("root"); // 3) Legen Sie das Kennwort für die Anmeldung bei der Datenbank fest ((MysqlDataSource)dataSource).setPassword("1234"); Da
Stellen Sie eine Verbindung zur Datenbank her und führen Sie eine echte Netzwerkkommunikation durch: Verbindung Verbindung=dataSource.getConnection();
6.2 Erstellen Sie SQL-Anweisungen zur Vorbereitung der AusführungErstellen Sie ein SQL, das über eine Zeichenfolge ausgeführt werden soll // Um beispielsweise eine neue Elementoperation auszuführen (der Tabellenname ist student, mit zwei Spalten id und student Scanner Scanner = neuer Scanner (System.in); System.out.print("Bitte geben Sie die ID ein: "); int id=scanner.nextInt(); System.out.print("Bitte geben Sie Ihren Namen ein: "); Zeichenfolgenname = Scanner.Weiter(); String sql="in Studentenwerte einfügen(?,?)";
Zum Beispiel: PreparedStatement-Anweisung = Verbindung.prepareStatement(sql); //Verwenden Sie die Methode setInt, um das erste Platzhalterzeichen in der SQL-Anweisung durch einen bestimmten Wert zu ersetzen statement.setInt(1,id); //Verwenden Sie die Methode setString, um das zweite Platzhalterzeichen in der SQL-Anweisung durch einen bestimmten Wert zu ersetzen statement.setString(2,name); In JDBC wird mithilfe von Connection und der Datenbank 6.3 SQL ausführen und den Ergebnissatz verarbeiten Führen Sie SQL über Wenn Sie Inhaltsänderungsvorgänge (Hinzufügen, Ändern, Löschen) durchführen möchten, verwenden Sie die Methode int executeUpdate() int ret = Anweisung.executeUpdate(); // executeUpdate gibt die Anzahl der von der Operation betroffenen Zeilen zurück // Sie können den Rückgabewert ausdrucken, um die Anzahl der betroffenen Zeilen anzuzeigen System.out.println("ret: "+ret); Wenn Sie eine Abfrageoperation durchführen möchten, verwenden Sie die ResultSet-Methode executeQuery() Ergebnismenge Ergebnismenge=Anweisung.executeQuery(); // Das Rückgabeergebnis von executeQuery ist eine temporäre Tabellenstruktur, die nach der Ausführung der Operation gefunden und im ResultSet-Objekt gespeichert wird. // Anschließend können wir sie, ähnlich wie bei einem Iterator, wie folgt durchlaufen while(resultSet.next()){ // Angenommen, es gibt zwei Spalten: ID und Name Int id = resultSet.getInt(id); Zeichenfolgenname = resultSet.getString(name); System.out.println("id="+id+", name="+name); } Die SQL-Abfrageanweisung gibt ein 6.4 Ressourcen freigebenWenn wir mit der Ausführung unserer SQL-Anweisungen fertig sind und bestimmte Objekte nicht mehr verwenden, müssen wir die Verbindung schließen und die entsprechenden Ressourcen freigeben. // Wenn ein ResultSet-Objekt nicht mehr benötigt wird, müssen Sie die Verbindung schließen resultSet.close(); // Wenn die Verbindung nicht mehr benötigt wird, müssen Sie die Verbindung schließen connection.close(); // Nachdem PreparedStatement nicht mehr benötigt wird, müssen Sie die Verbindung schließen statement.close(); Objekte 6.5 JDBC-ProgrammiervorlageWenn Sie die oben genannten fünf Schritte befolgen, können Sie grundlegende Java JDBC-Programmierung durchführen. Obwohl es mehr als eine Methode gibt, beherrschen Sie einfach diese Methode, wenn Sie noch nicht wissen, wie es geht. Lassen Sie uns abschließend die gesamte Vorlage zusammenfassen. Auf dieser Grundlage können wir mithilfe der Java-Sprache verschiedene Vorgänge an der MySQL-Datenbank ausführen. öffentlicher statischer void-Test () { // 1. Erstellen Sie eine Datenbankquelle und stellen Sie eine Verbindung her Datenquelle Datenquelle = neue MysqlDataSource(); ((MysqlDataSource)Datenquelle).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("1234"); Verbindung Verbindung=dataSource.getConnection(); // 2. Erstellen Sie eine SQL-Anweisung, um die auszuführende Operation vorzubereiten. String sql=""; PreparedStatement-Anweisung = Verbindung.prepareStatement(sql); // 3. SQL ausführen und den Ergebnisset verarbeiten int ret=statement.executeUpdate(); // 4. Ausführung abgeschlossen, Ressourcen freigeben statement.close(); Verbindung.schließen(); } 7. Gemeinsame JDBC-Schnittstellen und -KlassenDie folgenden Schnittstellen und Klassen wurden in den obigen JDBC-Programmierschritten eingeführt, sodass sie ihre Schwachstellen gegenseitig ergänzen können. 7.1 DataSource und MysqlDataSourceAuffüllen: Der obige Code kann auch direkt 7.2 Anschluss Die Implementierungsklasse Methode 1: Abrufen über DataSource-Objekt (Datenquelle) // Erstellen Sie eine Datenbankquelle DataSource dataSource=new MysqlDataSource(); // Datenbankdetails festlegen ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("1234"); // Erstellen Sie eine Datenbankverbindung Connection connection=dataSource.getConnection(); Methode 2: Erhalten über die statische Methode von // Laden Sie den JDBC-Treiber Class.forName("com.mysql.cj.jdbc.Driver"); // Erstellen Sie eine Datenbankverbindung Connection connection=DriverManager.getConnection(url); Der MySQL-Datenbanktreiber ist in der Klasse Der Unterschied zwischen den beiden oben genannten Methoden:
7.3 Vorbereitete Anweisung
7.4 Ergebnismenge Allgemeine Methoden des ResultSet-Objekts:
8. Java-Operationsdatenbankinstanz8.1 Daten zur Tabelle hinzufügenFügen Sie der Studententabelle die Studenten-ID und den Namen hinzu: öffentliche statische void testInsert() wirft SQLException { Datenquelle Datenquelle = neue MysqlDataSource(); ((MysqlDataSource)Datenquelle).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("1234"); Verbindung Verbindung=dataSource.getConnection(); Scanner Scanner = neuer Scanner (System.in); System.out.print("Bitte geben Sie die ID ein: "); int id=scanner.nextInt(); System.out.print("Bitte geben Sie Ihren Namen ein: "); Zeichenfolgenname = Scanner.Weiter(); String sql="in Studentenwerte einfügen(?,?)"; PreparedStatement-Anweisung = Verbindung.prepareStatement(sql); Anweisung.setInt(1,id); Anweisung.setString(2,name); int ret = Anweisung.executeUpdate(); System.out.println("ret: "+ret); Anweisung.schließen(); Verbindung.schließen(); } 8.2 Daten aus einer Tabelle löschenLöschen Sie in der Tabelle mit dem Namen „Student“ die Datensätze in der Studententabelle, die die ID-Bedingung erfüllen: öffentliche statische void testDelete() wirft SQLException { Datenquelle Datenquelle = neue MysqlDataSource(); ((MysqlDataSource)Datenquelle).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("1234"); Verbindung Verbindung=dataSource.getConnection(); Scanner Scanner = neuer Scanner (System.in); System.out.print("Bitte geben Sie die zu löschende ID ein: "); int id=scanner.nextInt(); String sql="Löschen von Student, wo ID=?"; PreparedStatement-Anweisung = Verbindung.prepareStatement(sql); Anweisung.setInt(1,id); int ret = Anweisung.executeUpdate(); System.out.println("ret: "+ret); Anweisung.schließen(); Verbindung.schließen(); } 8.3 Daten in einer Tabelle ändernÄndern Sie in der Tabelle mit dem Namen „Student“ die Namen der Studenten, die die ID-Bedingung erfüllen: öffentliche statische void testUpdate() wirft SQLException { Datenquelle Datenquelle = neue MysqlDataSource(); ((MysqlDataSource)Datenquelle).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("1234"); Verbindung Verbindung=dataSource.getConnection(); Scanner Scanner = neuer Scanner (System.in); System.out.print("Bitte geben Sie die Matrikelnummer ein, die Sie ändern möchten: "); int id=scanner.nextInt(); System.out.print("Bitte geben Sie den Studentennamen ein, den Sie ändern möchten: "); Zeichenfolgenname = Scanner.Weiter(); String sql="Studentengruppenname aktualisieren=? wobei id=?"; PreparedStatement-Anweisung = Verbindung.prepareStatement(sql); Anweisung.setString(1,name); Anweisung.setInt(2,id); int ret = Anweisung.executeUpdate(); System.out.println("ret: "+ret); Anweisung.schließen(); Verbindung.schließen(); } 8.4 Daten in einer Tabelle suchenSuchen Sie alle Daten in der Tabelle mit dem Namen „Student“: öffentliche statische void testSelect() wirft SQLException { Datenquelle Datenquelle = neue MysqlDataSource(); ((MysqlDataSource)Datenquelle).setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false"); ((MysqlDataSource)dataSource).setUser("root"); ((MysqlDataSource)dataSource).setPassword("1234"); Verbindung Verbindung=dataSource.getConnection(); Zeichenfolge sql="Wählen Sie * aus Student aus"; PreparedStatement-Anweisung = Verbindung.prepareStatement(sql); Ergebnismenge Ergebnismenge=Anweisung.executeQuery(); während(resultSet.next()){ int id = resultSet.getInt("id"); Zeichenfolgenname = resultSet.getString("name"); System.out.println("id = "+id+", name = "+name); } resultSet.close(); Anweisung.schließen(); Verbindung.schließen(); } Dies ist das Ende dieses Artikels über die JDBC-Programmierung für MySQL-Datenbanken (Java-Verbindung zu MySQL). Weitere relevante Inhalte zur Java-Verbindung zu MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Installieren Sie Centos7 mithilfe einer virtuellen Hyper-V-Maschine
>>: Zwei gängige Lösungen für den HTML-Textüberlauf zeigen Auslassungszeichen an
Die Implementierung des Erweiterns und Reduzieren...
Vorwort Die Zeichenfolgentypen der MySQL-Datenban...
Inhaltsverzeichnis Vorwort Was ist VueUse Einfach...
Inhaltsverzeichnis Überblick Code-Implementierung...
Inhaltsverzeichnis Vorherige 1. Was ist Setup-Syn...
Da ich normalerweise den Befehl „Docker Build“ ve...
Vorwort In diesem Artikel wird erklärt, wie Sie i...
1. Löschen Sie das gepunktete Feld, wenn die Scha...
Wenn Sie nach Inspiration für spaltenbasiertes Web...
Dieser Artikel wurde unter Bezugnahme auf die off...
Inhaltsverzeichnis benutzerdefinierte Vue-Direkti...
Ich habe vor Kurzem ein Mac-System verwendet und ...
Implementierungsanforderungen Das ElementUI imiti...
Ursprung: Vor einigen Tagen hat ein Tester eine A...
Befehl „touch“ Es hat zwei Funktionen: Eine beste...