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 つの記事をその中に挿入しました。
##例次のプログラムは、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 サイトの他の関連記事を参照してください。