Heim >Datenbank >MySQL-Tutorial >Wie können wir mit JDBC Dateien in die MySQL-Datenbank einfügen/speichern?

Wie können wir mit JDBC Dateien in die MySQL-Datenbank einfügen/speichern?

PHPz
PHPznach vorne
2023-09-16 17:01:091246Durchsuche

Im Allgemeinen wird der Inhalt einer Datei in einer MySQL-Datenbank unter dem Datentyp Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) gespeichert.

JDBC bietet Unterstützung für den Datentyp Clob, der den Inhalt von Dateien in Datenbanktabellen speichert. Die Methode

setCharacterStream()

der Schnittstelle PreparedStatement akzeptiert eine Ganzzahl, die den Index des Parameters darstellt, und ein Reader-Objekt als Parameter.

Und setzt den Inhalt des angegebenen Reader-Objekts (Datei) auf den Wert des Parameters (Platzhalter) am angegebenen Index.

Sie können diese Methode immer dann verwenden, wenn Sie sehr große Textwerte senden müssen.

Textdateien mit JDBC speichern:

Wenn Sie Dateien mit dem JDBC-Programm in einer Datenbank speichern müssen, erstellen Sie eine Tabelle mit dem Datentyp Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) wie unten gezeigt:

CREATE TABLE Articles(Name VARCHAR(255), Article LONGTEXT);

Verwenden Sie jetzt JDBC, um eine Verbindung herzustellen die Datenbank und bereiten Sie ein PreparedStatement vor. Fügen Sie den Wert in die oben erstellte Tabelle ein:

String query = "INSERT INTO Tutorial(Name, Article) VALUES (?,?)";PreparedStatement pstmt = con.prepareStatement(query);

Verwenden Sie die Setter-Methode der PreparedStatement-Schnittstelle, um den Wert des Platzhalters festzulegen, und verwenden Sie die Methode setCharacterStream(), um die Clob-Daten festzulegen Typwert.

Beispiel

Hier ist ein Beispiel, das zeigt, wie eine Datei eingefügt wird Verwenden Sie das JDBC-Programm, um eine Verbindung zur MySQL-Datenbank herzustellen. Hier haben wir eine Tabelle mit dem Datentyp Clob erstellt und Werte darin eingefügt.

import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertingFileToDatabase {
   public static void main(String args[]) throws Exception {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Inserting values
      String query = "INSERT INTO Articles(Name, Article) VALUES (?, ?)";
      PreparedStatement pstmt = con.prepareStatement(query);
      pstmt.setString(1, "article1");
      FileReader reader = new FileReader("E:\data\article1.txt");
      pstmt.setCharacterStream(2, reader);
      pstmt.execute();
      pstmt.setString(1, "article2");
      reader = new FileReader("E:\data\article2.txt");
      pstmt.setCharacterStream(2, reader);
      pstmt.execute();
      pstmt.setString(1, "article3");
      reader = new FileReader("E:\data\article3.txt");
      pstmt.setCharacterStream(2, reader);
      pstmt.execute();
      System.out.println("Data inserted......");
   }
}

Ausgabe

Connection established......
Data inserted......

Mit MySQL Workbench können Sie den Inhalt einer Tabelle in verschiedene Dateien exportieren, z. B. in HTML-Dateien, CSV-Dateien, Textdateien usw. Wenn Sie den Inhalt einer Tabelle exportieren, nachdem Sie Daten in eine HTML-Datei eingefügt haben, sieht die Ausgabe folgendermaßen aus:

我们如何使用 JDBC 将文件插入/存储到 MySQL 数据库中?

Das obige ist der detaillierte Inhalt vonWie können wir mit JDBC Dateien in die MySQL-Datenbank einfügen/speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen