首页 > 代码库 > 用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 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。