用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访问大段文本数据

时间: 2024-10-26 15:14:05

用jdbc访问大段文本数据的相关文章

JDBC学习笔记(8):访问大段文本数据

数据库准备: 1 create table clob_test 2 ( 3 id integer not null auto_increment, 4 big_text text not null, 5 primary key(id) 6 ); 将大段文本添加进数据库: 1 public static void create() throws SQLException, IOException { 2 Connection conn = null; 3 PreparedStatement ps

JDBC学习笔记:用JDBC处理大段数据

1.数据库——创建数据表 1 create table clob_test 2 ( 3 id integer not null auto_increment primary key, 4 big_text text not null 5 ); 2.用JDBC处理大段文本数据 (1)将文本数据写入数据库 1 @Test 2 public void create() throws SQLException, IOException { 3 Connection conn = null; 4 Prep

用jdbc访问二进制类型的数据

1 package it.cast.jdbc; 2 3 import java.io.BufferedInputStream; 4 import java.io.BufferedOutputStream; 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileOutputStream; 8 import java.io.InputStream; 9 import java.io.OutputSt

大段文本的多个关键字高亮

前几天看到有人提在网页中实时高亮关键字,大约6万多个字中高亮600个关键字,用户可以随时修改并及时高亮,也就是onkeyup时做高亮,说用正则在IE下效率不理想 想了下自已给了一个实现方案:比如这段文本是:"这是一大段文本,一大段文本哦"关键字是:["这是","大段文本","哦"]首先找出最长的关键字,并把这些关键字弄成map,如: var keys = ['这是', '这里是', '文本', '一']; var prepar

交互设计:隐藏或显示大段文本的UI组件有哪些?

应用场景: 在手机上要给列表中的每一项添加一个大段的介绍,应该用什么UI组件 A: 这里可以用,模态对话框,弹出提示,工具提示这类组件.模态对话框的好处,就是用关闭的按钮,用户操作方便:而弹出提示和工具提示只能通过点击来切换 模态对话框: http://v2.bootcss.com/javascript.html#modals http://www.runoob.com/bootstrap/bootstrap-modal-plugin.html Bootstrap 模态框(Modal)插件 模态

java通过jdbc访问mysql,update数据返回值的思考

先不说那么多,把Java代码贴出来吧. public static void main(String[] args) throws InterruptedException, IOException { try { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.se

Html大段文本自适应换行显示-SSM

只处理前端: <style> .ctl{ table-layout:fixed } .ctl td{ word-break:break-all } </style> <div> <table cellSpacing="0" cellpadding="1" width="100%" class="ctl" border=1> <tBody> <tr><

背水一战 Windows 10 (89) - 文件系统: 读写文本数据, 读写二进制数据, 读写流数据

[源码下载] 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 读写文本数据 读写二进制数据 读写流数据 示例1.演示如何读写文本数据FileSystem/ReadWriteText.xaml <Page x:Class="Windows10.FileSystem.ReadWriteText" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x

JDBC学习笔记(三)大文本数据的读写

一.用JDBC向数据库插入大文本数据 String sql = "insert into my_clob values (null, ?)"; ps = conn.prepareStatement(sql); File f = new File("D:\\BaiduNetdiskDownload\\mysql\\jdbc.sql"); Reader reader = new BufferedReader(new FileReader(f)); ps.setChara