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 ...
随机推荐
- oracle中的类似BIN$MrkCYT9eTTK+0sStMwn7+Q==$0的表的作用
https://www.2cto.com/database/201211/166482.html https://docs.oracle.com/cd/E11882_01/server.112/e40 ...
- 源码分析-react3-创建dom
React.createElement class Welcome extends React.Component { constructor(){ super() this.state={ test ...
- 【Cocos2dx游戏开发】CCNotificationCenter传递消息和数据
在开发游戏的时候我们经常需要在层与层之间.场景与场景之间传递数据和消息,Cocos2dx框架应用观察者模式为我们封装了一个CCNotificationCenter类,也叫消息通知中心,它也是一个单例类 ...
- Android面试题1
1.Android中intent的是? 答:实现界面间的切换,能够包括动作和动作数据.连接四大组件的纽带. 2.SAX解析xml文件的长处的是? 答:不用事先调入整个文档,占用资源少 3.在andro ...
- ios block 内存管理时使用注意
XMGStudent *stu = [[XMGStudent alloc] init]; __weak XMGStudent *weakStu = stu; stu.block = ^{ NSLog( ...
- Windows中的时区信息
时区 Windows API 没有提供直接得到特定时区信息的功能,Windows 系统中的时区信息存储在注册表中下面的位置: HKEY_LOCAL_MACHINE SOFTWARE ...
- nyoj448 寻找最大数
寻找最大数 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描写叙述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大. 比方当n=920813467185 ...
- bookstrap form表单简单-smart-form
代码: <form class="smart-form" id="smartForm"> <fieldset> <legend&g ...
- Unable to update auto-refresh reference 'microsoft.codedom.providers.dotnetcompilerplatform.dll'.
Unable to update auto-refresh reference 'microsoft.codedom.providers.dotnetcompilerplatform.dll'. Ca ...
- 分类(category)是门学问
分类的精细程度表现了人类的文明程度. 1. 学科分类 cybernetics:控制论: