用jdbc访问大段文本数据

用jdbc访问大段文本数据
 1 package it.cast.jdbc;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.File;
 6 import java.io.FileNotFoundException;
 7 import java.io.FileReader;
 8 import java.io.FileWriter;
 9 import java.io.IOException;
10 import java.io.Reader;
11 import java.io.Writer;
12 import java.sql.Clob;
13 import java.sql.Connection;
14 import java.sql.PreparedStatement;
15 import java.sql.ResultSet;
16 import java.sql.SQLException;
17 import java.sql.Statement;
18 
19 public class ClobTest {
20 
21     public static void main(String[] args) throws IOException {
22         read();
23     }
24 
25     static void create() throws IOException {
26         Connection conn = null;
27         PreparedStatement ps = null;
28         ResultSet rs = null;
29 
30         try {
31             // 建立连接
32             conn = jdbcUtils.getConnection();
33 
34             // 创建语句
35             String sql = "insert into clob_test(big_text) values (?)";
36 
37             ps = conn.prepareStatement(sql);
38 
39             File file = new File("src/it/cast/jdbc/Base.java");
40             Reader reader = new BufferedReader(new FileReader(file));
41 
42             ps.setCharacterStream(1, reader, (int) file.length());
43 
44             // 执行语句
45             int i = ps.executeUpdate();
46             reader.close();
47 
48             System.out.println(i);
49 
50         } catch (SQLException e) {
51 
52             e.printStackTrace();
53         } finally {
54             jdbcUtils.free(rs, ps, conn);
55         }
56     }
57 
58     static void read() throws IOException {
59         Connection conn = null;
60         Statement st = null;
61         ResultSet rs = null;
62 
63         try {
64 
65             // 建立连接
66             conn = jdbcUtils.getConnection();
67 
68             // 创建语句
69             st = conn.createStatement();
70 
71             String sql = "select big_text from clob_test";
72 
73             // 执行语句
74             rs = st.executeQuery(sql);
75 
76             while (rs.next()) {
77                 Clob clob = rs.getClob(1);
78                 Reader reader = clob.getCharacterStream();
79                 File file = new File("jdbcUtils_bak.java");
80                 Writer writer = new BufferedWriter(new FileWriter(file));
81                 char[] buff = new char[1024];
82 
83                 for (int i = 0; (i = reader.read(buff)) > 0;) {
84                     writer.write(buff, 0, i);
85                 }
86 
87                 writer.close();
88                 reader.close();
89             }
90 
91         } catch (SQLException e) {
92             e.printStackTrace();
93         } finally {
94             jdbcUtils.free(rs, st, conn);
95         }
96     }
97 
98 }
ClobTest

 

用jdbc访问大段文本数据,布布扣,bubuko.com

用jdbc访问大段文本数据

上一篇:Linux在线安装Mysql


下一篇:MySQL的表中有唯一索引,设置unique_checks为0时,还能否写入重复值?