import java.io.FileWriter;
import java.io.Reader;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class TextDatabase2 {
	public static Connection makeConnection() {
		String url = "jdbc:mysql://localhost:3306/book_db?characterEncoding=UTF-8&serverTimezone=UTC";
		String id = "root";
		String password = "1234";
		Connection con = null;
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
			System.out.println("드라이버 적재 성공");
			con = DriverManager.getConnection(url, id, password);
			System.out.println("데이터베이스 연결 성공");
		} catch (ClassNotFoundException e) {
			System.out.println("드라이버를 찾을 수 없습니다.");
		} catch (SQLException e) {
			System.out.println("연결에 실패하였습니다.");
		}
		return con;
	}

	public static void main(String args[]) throws Exception {
		Connection con = makeConnection();

		PreparedStatement ps = con.prepareStatement("select * from Articles");
		ResultSet rs = ps.executeQuery();
		rs.next();

		Clob c = rs.getClob(2);
		Reader r = c.getCharacterStream();

		FileWriter fw = new FileWriter("test2.txt");

		int i;
		while ((i = r.read()) != -1)
			fw.write((char) i);

		fw.close();
		con.close();

		System.out.println("텍스트가 추출되었습니다. ");
           con.close();
	}
}