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.
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.
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......"); } }
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:
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!