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 ... 
随机推荐
- 利用python进行数据分析--(阅读笔记一)
			以此记录阅读和学习<利用Python进行数据分析>这本书中的觉得重要的点! 第一章:准备工作 1.一组新闻文章可以被处理为一张词频表,这张词频表可以用于情感分析. 2.大多数软件是由两部分 ... 
- 5-46 新浪微博热门话题   (30分)——unfinished HASH
			5-46 新浪微博热门话题 (30分) 新浪微博可以在发言中嵌入“话题”,即将发言中的话题文字写在一对“#”之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题.新浪微 ... 
- Ubuntu 16.04安装搜索拼音输入法
			Linux下唯一一款大厂出的输入法 1.下载 http://pinyin.sogou.com/linux/?r=pinyin 2.安装 sudo dpkg -i sogoupinyin_2.1.0.0 ... 
- 微软消息队列MessageQueue(MQ)
			首先本地安装微软的消息队列服务器. 基础类: namespace Core.MessageQueueTest { public class TestQueue : IDisposable { prot ... 
- vue2的简单Popup (Confirm,Alert)组件
			github: https://github.com/longfei59418888/vui (记得给一个 start,以后有一起讨论,各种好组件) demo :http://60.205.20 ... 
- da,da_driver
			daSet=session.query(da).all() for da in daSet: da.mount_list=map(lambda x:x.mount_point , x for x in ... 
- 安全简单解决MVC 提示 检测到有潜在危险的 Request.Form 值.
			一般使用富文本编辑器的时候.提交的表单中包含HTML字符,就会出现此错误提示. 使用 ValidateInput(false) 特性标签并不能解决此问题. 网上前篇一律的回答是修改Web.Config ... 
- Lucene.Net 与 盘古分词
			1.关键的一点,Lucene.Net要使用3.0下面的版本号,否则与盘古分词接口不一致. 关键代码例如以下 using System; using System.IO; using System.Co ... 
- Cocos2d-x3.3RC0载入Android的WebView
			代码部分摘自http://www.fusijie.com/blog/2013/12/26/play-cocos2dx-33/ Cocos2d-x3.3RC0通过Jni嵌入Android的WebView ... 
- 第一章  Java Collections Framework总览
			1.Java容器 Java容器中只能存放对象,对于基本数据类型(byte,short,char,int,long,float,double,boolean),需要包装成对象类型(Byte,Short, ... 
