首頁 >資料庫 >mysql教程 >我們如何使用 JDBC 從資料庫中檢索檔案?

我們如何使用 JDBC 從資料庫中檢索檔案?

PHPz
PHPz轉載
2023-09-02 10:09:011068瀏覽

ResultSet介面提供名為getClob()getCharacterStream()的方法來檢索Clob資料類型,通常儲存文件的內容。

這些方法接受表示列索引的整數(或表示列名稱的字串值)並檢索指定列處的值.

區別在於getClob() 方法傳回一個Clob 對象,而getCgaracterStream() 方法傳回一個包含Clob 資料類型內容的Reader 物件。

範例

假設我們在資料庫中建立了一個名為 Articles 的表,並具有以下描述。

+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| Name    | varchar(255) | YES  |     | NULL    |       |
| Article | longtext     | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+

並且,我們在其中插入了三篇文章,名稱為文章1、文章2 和文章3,如下所示:

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

範例

以下程式使用getString() 和getClob() 方法擷取表格Articles 的內容,並將其儲存在指定檔案中。

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

以上是我們如何使用 JDBC 從資料庫中檢索檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除