Die
ResultSet-Schnittstelle stellt Methoden mit den Namen getClob() und getCharacterStream() bereit, um den Clob-Datentyp abzurufen, der normalerweise den Inhalt einer Datei speichert.
Diese Methoden akzeptieren eine Ganzzahl, die den Spaltenindex darstellt (oder einen Zeichenfolgenwert, der den Spaltennamen darstellt) und rufen den Wert in der angegebenen Spalte ab.
Der Unterschied besteht darin, dass die Methode getClob() ein Clob-Objekt zurückgibt, während die Methode getCgaracterStream( )-Methode gibt einen Clob zurück, der ein Reader-Objekt mit Datentypinhalten enthält.
Angenommen, wir erstellen in der Datenbank eine Tabelle namens „Artikel“ mit der folgenden Beschreibung.
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | Article | longtext | YES | | NULL | | +---------+--------------+------+-----+---------+-------+
Und wir haben darin drei Artikel mit den Namen Artikel 1, Artikel 2 und Artikel 3 eingefügt, wie unten gezeigt:
Das folgende Programm ruft den Inhalt der Tabelle mit den Methoden getString() und getClob() ab und speichern Sie es in der angegebenen Datei.
import java.io.FileWriter; import java.io.Reader; import java.sql.Clob; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class RetrievingFileFromDatabase { 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......"); //Creating aStatement Statement stmt = con.createStatement(); //Retrieving the data ResultSet rs = stmt.executeQuery("select * from Articles"); int j = 0; System.out.println("Contents of the table are: "); while(rs.next()) { System.out.println(rs.getString("Name")); Clob clob = rs.getClob("Article"); Reader reader = clob.getCharacterStream(); String filePath = "E:\Data\clob_output"+j+".txt"; FileWriter writer = new FileWriter(filePath); int i; while ((i = reader.read())!=-1) { writer.write(i); } writer.close(); System.out.println(filePath); j++; } } }
Connection established...... Contents of the table are: article1 E:\Data\clob_output0.txt article2 E:\Data\clob_output1.txt article3 E:\Data\clob_output2.txt
Das obige ist der detaillierte Inhalt vonWie können wir mit JDBC Dateien aus der Datenbank abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!