ホームページ  >  記事  >  データベース  >  JDBC を使用してデータベースからファイルを取得するにはどうすればよいですか?

JDBC を使用してデータベースからファイルを取得するにはどうすればよいですか?

PHPz
PHPz転載
2023-09-02 10:09:011014ブラウズ

ResultSet インターフェイスには、getClob() および getCharacterStream() という名前のメソッドが用意されており、通常は Clob データ型を取得します。ファイルの内容。

これらのメソッドは、列インデックスを表す整数 (または列名を表す文字列値) を受け入れ、指定された列の値を取得します。

違いは、getClob() メソッドが返すことです。一方、 getCgaracterStream() メソッドは Clob データ型のコンテンツを含む Reader オブジェクトを返します。

次の説明を含む Articles という名前のテーブルをデータベースに作成するとします。

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

そして、次のように、記事 1、記事 2、記事 3 という名前の 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。