결과 집합 인터페이스는 getClob()이라는 메서드를 제공합니다. 및 getCharacterStream() Clob 검색 파일의 내용이 일반적으로 저장되는 데이터 유형입니다.
이 메서드는 열의 인덱스를 나타내는 정수(또는 열의 이름을 나타내는 문자열 값)를 허용하고 지정된 열에서 값을 검색합니다.
차이점은 getClob() 메서드는 Clob 객체를 반환하고 getCgaracterStream() 메서드는 Clob 데이터 유형의 내용을 담고 있는 Reader 객체를 반환한다는 것입니다.
예시
다음 설명을 사용하여 데이터베이스에 Articles라는 테이블을 생성했다고 가정합니다.
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | Article | longtext | YES | | NULL | | +---------+--------------+------+-----+---------+-------+
그리고 아래와 같이 Article 1, Article 2, Article 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