- 浏览: 137750 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
admin666:
新人路过,表示对我有帮助
Activiti(新手)工作流对用户任务签收办理操作 -
汽车城路:
根据数据库里的字段来动态添加grid列,你实现了么?
动态对ext grid添加列
import java.io.*;
import java.sql.*;
public class BlobClobExample {
public static void main(String[] args) {
try {
String url = "*******";
//Derby中的URL,后面是附加参数。表示数据库中没有此数据库时,会自动建一个
//其它数据库提供商的产品可以查阅其手册
Class.forName("*********").newInstance();
//加载驱动。关于加载驱动的细节,请阅读本博客的《JDBC中驱动加载的过程分析(上)》
//和《JDBC中驱动加载的过程分析(下)》
//在数据库Mysql的驱动加载时也建议在Class.forName()后,继续调用newInstance()方法
2
//没有本质区别
Connection conn = DriverManager.getConnection(url); //建立连接
Statement s = conn.createStatement(); //创建Statement对象
s.executeUpdate("drop table documents");
//这句是为了避免再次创建表documents
s.executeUpdate("CREATE TABLE documents(id INT, text CLOB(64 K) , photo Blob(1440 K))");
//以上就是创建包含Clob和Blob对象的表的过程
//和将一般的字段差不多,后面括号中代表该对象的大小,其语法为:
// CLOB (length [{{K |M |G}]) 表示长度为K、M、G等,没有带表示比特
conn.commit(); //提交操作
//以下是将本地文件中,本程序的源文件加载为一个流,用于向数据库中写入Clob字段
File file1 = new File("BlobClobExample.java");
int len1 = (int) file1.length();
InputStream fis1 = new java.io.FileInputStream(file1);
//以下是将当前源代码目录的子目录“11”下的“1.JPG”文件加载为一个流,
//用于后面向数据库中写入Blob字段
File file2 = new File("c:\\11\\1.JPG");
int len2 = (int) file2.length();
InputStream fis2 = new FileInputStream(file2);
//以上两个简单吧!!
//创建一个PreparedStatement对象,用于批量插入内容
//使用PreparedStatement对象可以节省,数据库编译SQL指令的时间,
//因为在使用PreparedStatement对象时,该SQL语句是预先编译好了,
//对于某些变化的参数使用占位符(Place Holder)代替
//这对于以后将要执行多次的同一操作,该操作仅仅是参数不同,是极其有利
//比如在网页上输入客户信息时,用户要填入的数据基本是一样的(你可以填也可以不填)
//这时后台的数据库可以使用PreparedStatement对象,每次都是设置参数,执行操作
PreparedStatement ps = conn.prepareStatement("INSERT INTO documents VALUES (?, ?,?)");
ps.setInt(1, 250);
ps.setAsciiStream(2, fis1, len1);
ps.setBinaryStream(3,fis2,len2);
//以上三步是设置占位符的数值
ps.execute(); //执行操作
//以上四步可以重复执行。PreparedStatement就是为了适用于此用途
conn.commit();
//以上完成了数据的写入
//以下是数据的读出
ResultSet rs = s.executeQuery("SELECT text , photo FROM documents WHERE id = 250");
while (rs.next()) {
Clob aclob = rs.getClob(1); //和提取一般对象一样
InputStream is = rs.getAsciiStream(1); //特殊的,对于与得到Clob的流
//这是得到Clob、Blob流的第一种方法
3
//以下是对流进行处理的过程。Clob本身是包含大字符的对象
//顺其自然,以下是使用java IO中读取字符流的方法读取它
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null ;
while(null != (line = br.readLine())){
System.out.println(line); //将其输出至屏幕,实际你可以按照需要处理
}
is.close();
java.sql.Blob ablob = rs.getBlob(2); //和操作其它基本类型的字段一样
System.out.println(ablob.length()); //简单地操作Blob的实例
//实际你可以使用Clob的API对其进行任何它允许的操作,请查API
InputStream bis = ablob.getBinaryStream() ; //得到Blob实例的字节流
//这是操作Clob、Blob等对象的第二种方法,也是最自然的用法
OutputStream os = new FileOutputStream("11.jpg");
//用于将数据库中的Blob存放到目前目录的“11.jpg”文件中
int b = bis.read(); //以下就是象操作其它java字节流一样操作了
while (b != -1 ) {
os.write((char)b);
b = bis.read();
}
os.flush();
os.close();
bis.close();
}
} catch (Exception e) {
System.out.println("Error! "+e);
}
}
}
import java.sql.*;
public class BlobClobExample {
public static void main(String[] args) {
try {
String url = "*******";
//Derby中的URL,后面是附加参数。表示数据库中没有此数据库时,会自动建一个
//其它数据库提供商的产品可以查阅其手册
Class.forName("*********").newInstance();
//加载驱动。关于加载驱动的细节,请阅读本博客的《JDBC中驱动加载的过程分析(上)》
//和《JDBC中驱动加载的过程分析(下)》
//在数据库Mysql的驱动加载时也建议在Class.forName()后,继续调用newInstance()方法
2
//没有本质区别
Connection conn = DriverManager.getConnection(url); //建立连接
Statement s = conn.createStatement(); //创建Statement对象
s.executeUpdate("drop table documents");
//这句是为了避免再次创建表documents
s.executeUpdate("CREATE TABLE documents(id INT, text CLOB(64 K) , photo Blob(1440 K))");
//以上就是创建包含Clob和Blob对象的表的过程
//和将一般的字段差不多,后面括号中代表该对象的大小,其语法为:
// CLOB (length [{{K |M |G}]) 表示长度为K、M、G等,没有带表示比特
conn.commit(); //提交操作
//以下是将本地文件中,本程序的源文件加载为一个流,用于向数据库中写入Clob字段
File file1 = new File("BlobClobExample.java");
int len1 = (int) file1.length();
InputStream fis1 = new java.io.FileInputStream(file1);
//以下是将当前源代码目录的子目录“11”下的“1.JPG”文件加载为一个流,
//用于后面向数据库中写入Blob字段
File file2 = new File("c:\\11\\1.JPG");
int len2 = (int) file2.length();
InputStream fis2 = new FileInputStream(file2);
//以上两个简单吧!!
//创建一个PreparedStatement对象,用于批量插入内容
//使用PreparedStatement对象可以节省,数据库编译SQL指令的时间,
//因为在使用PreparedStatement对象时,该SQL语句是预先编译好了,
//对于某些变化的参数使用占位符(Place Holder)代替
//这对于以后将要执行多次的同一操作,该操作仅仅是参数不同,是极其有利
//比如在网页上输入客户信息时,用户要填入的数据基本是一样的(你可以填也可以不填)
//这时后台的数据库可以使用PreparedStatement对象,每次都是设置参数,执行操作
PreparedStatement ps = conn.prepareStatement("INSERT INTO documents VALUES (?, ?,?)");
ps.setInt(1, 250);
ps.setAsciiStream(2, fis1, len1);
ps.setBinaryStream(3,fis2,len2);
//以上三步是设置占位符的数值
ps.execute(); //执行操作
//以上四步可以重复执行。PreparedStatement就是为了适用于此用途
conn.commit();
//以上完成了数据的写入
//以下是数据的读出
ResultSet rs = s.executeQuery("SELECT text , photo FROM documents WHERE id = 250");
while (rs.next()) {
Clob aclob = rs.getClob(1); //和提取一般对象一样
InputStream is = rs.getAsciiStream(1); //特殊的,对于与得到Clob的流
//这是得到Clob、Blob流的第一种方法
3
//以下是对流进行处理的过程。Clob本身是包含大字符的对象
//顺其自然,以下是使用java IO中读取字符流的方法读取它
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null ;
while(null != (line = br.readLine())){
System.out.println(line); //将其输出至屏幕,实际你可以按照需要处理
}
is.close();
java.sql.Blob ablob = rs.getBlob(2); //和操作其它基本类型的字段一样
System.out.println(ablob.length()); //简单地操作Blob的实例
//实际你可以使用Clob的API对其进行任何它允许的操作,请查API
InputStream bis = ablob.getBinaryStream() ; //得到Blob实例的字节流
//这是操作Clob、Blob等对象的第二种方法,也是最自然的用法
OutputStream os = new FileOutputStream("11.jpg");
//用于将数据库中的Blob存放到目前目录的“11.jpg”文件中
int b = bis.read(); //以下就是象操作其它java字节流一样操作了
while (b != -1 ) {
os.write((char)b);
b = bis.read();
}
os.flush();
os.close();
bis.close();
}
} catch (Exception e) {
System.out.println("Error! "+e);
}
}
}
发表评论
-
Data too long for column '***列名称 at row 1
2016-04-29 11:45 17441、字符集错误 2、字段长度不够 3 ... -
Activiti(新手)工作流对用户任务签收办理操作
2016-03-30 17:43 23383首先是我们已经对Activiti流程的开启有了了解之后,在 ... -
Activiti(新手)工作流如何开启流程
2016-03-30 16:32 9744本文中简单介绍如何开启Activiti工作流引擎,百度上已 ... -
字符串 数字 特殊符号 排序
2013-04-25 19:47 2764遇到问题解决后请务必记录下来,也许某时就用到了,总之丢不怕。 ... -
Axis WebService 一看就懂
2012-12-07 14:54 1185axis1—4 webservices服务器客户端代码 -- ... -
oracle中用户删除不了,提示“无法删除当前已连接的用户”
2012-11-11 01:53 9631.alter user XXX account lock;S ... -
Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
2012-08-21 13:50 1223转至 http://www.cnblogs.com/jiang ... -
查看数据的使用空间使用情况
2012-11-11 01:53 783使用SQL语句查看数据的使用空间使用情况 [code=& ... -
spring配置数据源
2011-12-22 11:43 876不管通过何种持久化技 ... -
Velocity用户手册---中文版(学习修改版)
2011-12-04 22:29 1845Velocity的能力远不止web站点开发这个领域,例如,它可 ... -
spring3.0发送电子邮件(velocity模板,带附件,群发,解决乱码)
2011-12-04 22:27 1387在这个例子中,将与发送方相关的配置信息放在了一个email.p ... -
Spring3 + iBatis3 配置
2011-12-04 18:38 706原文连接 http://www.2cto.com/kf/ ... -
Jsp文件中播发视频文件
2011-12-02 19:02 944详情请转至:↓ http://blog.sina.com.cn ... -
JSON常用格式大处理
2011-10-31 14:43 7823总结了日常开发中对Json格式的处理,需要下载json相关Ja ... -
定义管理char字符处理格式
2011-10-31 14:37 894写这些东西;Ctrl-Cv的手酸; 不是太全面,希望大家共同 ... -
如何得到服务器路径(weblogic-domain)
2011-10-31 14:30 4615对于如何在weblogic中得到web项目路径问题,是很常见的 ... -
java根据文件类型写入
2011-10-31 14:24 940根据文件类型写入文件;参数方法一目了然 public S ... -
java去掉字符串的任何位置多余的空格
2011-10-17 16:27 1057用java去掉字符串的任何位置多余的空格,很经典。 代码如下 ... -
oralce 删除用户
2011-08-30 08:34 1125drop user ; 删除用户,drop user × ... -
java-execl
2011-08-16 11:22 980解决方法: 1、新建excel文件,手动复制原文件内容 ...
相关推荐
java读取大字段,介绍java如何读取大字段blob,解决程序员头疼问题
简单写的一个小工具,把图片存入oracle中,按clob和blob两种方式存储,并读取图片
oracle Blob Clob 大数处理 代码 文件上传 下载
oracle中的Blob和Clob区别,希望对大家学习有帮助呵
oracle Blob转换Clob
Oracle导出Clob,Blob等大字段工具,自己写的工具,方便大家下载使用
UTL_RAW.CAST_TO_VARCHAR2
java对oracle数据库中blob字段的处理
JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等对象 实例详细JDBC中操作Blob、Clob等...
weblogic下转换oracle 的clob类型经常报转型错误,本例子通过反射解决weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB转型成oracle.sql.CLOB问题
只需要安装oracle client在本地,然后配置好tns,输入连接名,用户名,密码,数据表的名称,文件名数据列名以及blob数据列名,就可以批量导出ORACLE数据库BLOB字段生成图片
Mybatis 处理 CLOB、BLOB 类型数据
java中读取ORACLE中BLOB字段存储的图片
Oracle导出Clob,Blob工具 ,支持导出CLob工具版本2,解决上个版本导出时间有问题的bug
完整通过JAVA读写ORACLE中CLOB、BLOB字段的方法,提供数据库连接池的方法
Hibernate对BLOB CLOB操作,详细的操作说明
Oracle slq bolb转换Base64 CLOB
JDBC中操作Blob、Clob等对象
Oracle,Clob,Blob数据操作例子
从oracle中的BLOB类型字段中取出照片,转存到mysql数据库中。思路是现将oracle中的照片存储在本地文件夹,在将本地图片上传到mysql中。