java 操作clob
之前在学校的时候做的都是练习,小儿科,遇到的情况完全都在自己的设想范围内。最近老是遇到字段溢出的情况,但是varchar2好像最长也只有4000个字符。所以不得不另辟蹊径,就找上了clob字段。
package test; import java.io.BufferedReader;
import java.io.IOException;
import java.io.Writer; import java.sql.Clob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import oracle.sql.CLOB; public class ClobTest {
private static Connection conn; static {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl","wch","wch123");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
} public static void main(String[] args) throws SQLException, IOException {
// testInsert();
// testUpdate();
testRead();
} private static void testInsert() throws SQLException {
String sql = "insert into CLOBTEST values(1, empty_clob(),empty_clob())";
Statement stm = conn.createStatement();
stm.execute(sql);
} private static void testUpdate() throws SQLException, IOException {
String sql = "select context,c2 from CLOBTEST where id = 1 for update";
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sql);
while (rs.next()) {
oracle.sql.CLOB c = (CLOB) rs.getClob(1);
Writer w = c.setCharacterStream(1);
w.write("wchwchwch\r\n");
w.write("哈哈哈\r\n哈哈哈ds", 2, 5);
w.flush();
w.close();
c = (CLOB) rs.getClob(2);
w = c.setCharacterStream(1);
w.write("dingsen");
w.flush();
w.close();
}
conn.commit();
} private static void testRead() throws SQLException, IOException {
String sql = "select context,c2 from CLOBTEST where id = 1";
PreparedStatement pstm = conn.prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
System.out.println("-----------------------------------");
while (rs.next()) {
Clob clob = rs.getClob(1);
BufferedReader r = new BufferedReader(clob.getCharacterStream());
char[] cs = new char[10];
int total = 0;
StringBuilder sb = new StringBuilder();
while ((total = r.read(cs)) != -1) {
sb.append(cs,0,total);
}
System.out.println(sb.toString());
}
}
}
java 操作clob的更多相关文章
- java 操作CLOB类型数据
clob类型,但对于这个类型处理起来还是比较麻烦的,varchar2长度为4000bytes,如果varchar2能满足楼主的需求,建议使用varchar2,下面提供了在Java 中读取clob类型的 ...
- JAVA操作ORACLE大对象
一:操作CLOB (1)数据库表结构如下: create table CLOB_TEST ( ID VARCHAR2(5) not null, ...
- Java操作Sqlite数据库-jdbc连接
Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...
- 【MongoDB for Java】Java操作MongoDB
上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过 ...
- Java操作Oracle
public class DBCon { // 数据库驱动对象 public static final String DRIVER = "oracle.jdbc.driver.OracleD ...
- JAVA操作ORACLE数据库的存储过程
一.任务提出 JAVA操作oracle11g存储过程实验需要完成以下几个实例: 1.调用没有返回参数的过程(插入记录.更新记录) 2.有返回参数的过程 3.返回列表的过程 4.返回带分页的列表的过程. ...
- JAVA操作MongoDB数据库
1. 首先,下载MongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads 2.Java操作Mo ...
- Java操作Session与Cookie
1,Java操作Session Java操作Session非常简单,步骤如下 1.1,在servlet中通过request获取session HttpSession session = request ...
- JAVA操作COOKIE
JAVA操作COOKIE 1.设置Cookie Cookie cookie = new Cookie("key", "value"); cookie.setMa ...
随机推荐
- Linux下汇编语言学习笔记71 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- [CH#56]过河(贪心)
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2356%20-%20%E5%9B%BD%E5%BA%86%E8%8A%82%E6%AC%A2%E4%B9%90% ...
- php 生成订单号
最近在练手一个订单提交的小项目,需要用到生成订单号,网上找了下,觉得这个最好. function build_order_no(){ return date('Ymd').substr(implode ...
- 常见的各品牌路由器默认IP地址汇总清单
常见的各品牌路由器默认IP地址汇总清单 下面是各常见品牌路由器的默认IP清单: 如果您使用的设备品牌不在上述列表中,也可以试着访问下RouterIPAddress.com或SetupRouter.co ...
- iOS页面右滑返回的实现方法总结
1.边缘触发的系统方法 ①系统返回按钮 self.navigationController.interactivePopGestureRecognizer.enabled = YES; ②自定义返回 ...
- 自己定义 View 基础和原理
课程背景: 在 Android 提供的系统控件不能满足需求的情况下,往往须要自己开发自己定义 View 来满足需求,可是该怎样下手呢.本课程将带你进入自己定义 View 的开发过程,来了解它的一些原理 ...
- 调用线程必须为 STA,因为许多 UI 组件都需要
WPF中,代码中准备控制控件内容时,有时会报错: 调用线程必须为 STA,因为许多 UI 组件都需要 我知道,在winform下面,使用多线程时,控件的值读取是可以的,但如果要更改,那么就必须进行一些 ...
- Office 修改语言
- Cadence——每次启动软件弹出找不到license文件的提示窗口
1. 摘要 按照Cadence16.60,每次启动该软件,总弹出提示窗口,内如大致为:Orcad Capture license was not found.... 2. 解决方法 参考此链接:htt ...
- protected (C# Reference)
https://msdn.microsoft.com/en-us/library/bcd5672a.aspx The protected keyword is a member access modi ...