Heim  >  Artikel  >  Datenbank  >  Wie können wir mit JDBC Dateien aus der Datenbank abrufen?

Wie können wir mit JDBC Dateien aus der Datenbank abrufen?

PHPz
PHPznach vorne
2023-09-02 10:09:011049Durchsuche

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.

Beispiel

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:

我们如何使用 JDBC 从数据库中检索文件?

Beispiel

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++;
      }
   }
}

Ausgabe

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!

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