- 浏览: 139785 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 17831、字符集错误 2、字段长度不够 3 ... -
Activiti(新手)工作流对用户任务签收办理操作
2016-03-30 17:43 23562首先是我们已经对Activiti流程的开启有了了解之后,在 ... -
Activiti(新手)工作流如何开启流程
2016-03-30 16:32 9791本文中简单介绍如何开启Activiti工作流引擎,百度上已 ... -
字符串 数字 特殊符号 排序
2013-04-25 19:47 2818遇到问题解决后请务必记录下来,也许某时就用到了,总之丢不怕。 ... -
Axis WebService 一看就懂
2012-12-07 14:54 1223axis1—4 webservices服务器客户端代码 -- ... -
oracle中用户删除不了,提示“无法删除当前已连接的用户”
2012-11-11 01:53 10091.alter user XXX account lock;S ... -
Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
2012-08-21 13:50 1256转至 http://www.cnblogs.com/jiang ... -
查看数据的使用空间使用情况
2012-11-11 01:53 826使用SQL语句查看数据的使用空间使用情况 [code=& ... -
spring配置数据源
2011-12-22 11:43 915不管通过何种持久化技 ... -
Velocity用户手册---中文版(学习修改版)
2011-12-04 22:29 1873Velocity的能力远不止web站点开发这个领域,例如,它可 ... -
spring3.0发送电子邮件(velocity模板,带附件,群发,解决乱码)
2011-12-04 22:27 1426在这个例子中,将与发送方相关的配置信息放在了一个email.p ... -
Spring3 + iBatis3 配置
2011-12-04 18:38 743原文连接 http://www.2cto.com/kf/ ... -
Jsp文件中播发视频文件
2011-12-02 19:02 967详情请转至:↓ http://blog.sina.com.cn ... -
JSON常用格式大处理
2011-10-31 14:43 7862总结了日常开发中对Json格式的处理,需要下载json相关Ja ... -
定义管理char字符处理格式
2011-10-31 14:37 938写这些东西;Ctrl-Cv的手酸; 不是太全面,希望大家共同 ... -
如何得到服务器路径(weblogic-domain)
2011-10-31 14:30 4652对于如何在weblogic中得到web项目路径问题,是很常见的 ... -
java根据文件类型写入
2011-10-31 14:24 978根据文件类型写入文件;参数方法一目了然 public S ... -
java去掉字符串的任何位置多余的空格
2011-10-17 16:27 1138用java去掉字符串的任何位置多余的空格,很经典。 代码如下 ... -
oralce 删除用户
2011-08-30 08:34 1157drop user ; 删除用户,drop user × ... -
java-execl
2011-08-16 11:22 1007解决方法: 1、新建excel文件,手动复制原文件内容 ...
相关推荐
在数据库管理中,存储非结构化数据...综上所述,`CLOB`和`BLOB`都是在Oracle中存储图片的有效方法,具体选择哪种方式取决于应用场景和需求。`ClobAndBlob`工具提供了一种便捷的方式来体验和比较这两种方式的使用效果。
2. **Oracle.ManagedDataAccess.dll**:这是Oracle官方提供的Managed Driver,它是一个.NET Framework库,允许开发者在.NET环境中直接访问Oracle数据库,支持Clob和Blob操作。 3. **SqlSugar.dll**:这是一个流行的...
MyBatis 处理 CLOB、BLOB 类型数据是指在使用 MyBatis 框架时,如何正确地处理大字段类型的数据。CLOB(Character Large OBject)和 BLOB(Binary Large OBject)都是大字段类型,用于存储大量的数据。 CLOB 类型...
Oracle数据库在存储大对象(BLOB)数据时,提供了高效且灵活的方式,使得二进制数据如图片、文档等能够安全地保存在数据库中。批量导出Oracle数据库中的BLOB字段生成图片,是一项常见的需求,尤其对于那些需要将...
在实际应用中,需要确保代码正确处理了不同数据库之间的数据类型差异,比如MySQL的TEXT到ORACLE的CLOB,同时考虑到大字段的处理。 总结来说,处理ORACLE数据库中的大字段数据时,应关注存储模式选择、批量操作、...
因此,"jdbc批量插入大字段"这个话题旨在探讨如何高效地通过Java JDBC来实现Blob字段的批量插入,以提高性能。 首先,我们需要了解JDBC(Java Database Connectivity),它是Java编程语言与各种数据库之间通信的...
然而,在 Oracle8i 版本之前,对大字段 CLOB 仍然不支持在 where 子句直接的 Like 操作。这使得开发者无法直接对 CLOB 字段中的内容进行 Like 查找。幸运的是,通过使用 DBMS_LOB 包,我们可以实现对 CLOB 字段中的...
下面是一个Java方法`clobRead()`的具体实现,用于从Oracle数据库中读取CLOB字段的内容。 ```java public static String clobRead() throws Exception { DBlo_db = null; String detailinfo = ""; Connection ...
Oracle数据库中的CLOB(Character Large Object)类型是用来存储大量字符数据的,比如长文本、XML文档等。在Java中,当我们需要通过JDBC(Java ...确保高效、安全地操作这些大字段,可以提高应用程序的性能和用户体验。
java对oracle大字段读取类,因项目需求要对大字段进行存取,在网上搜集了些,自己加工了些。用起来很方便!
最近在用oracle的过程中用到了对blob字段模糊查询的问题,对oracle来说,我并不是高手,找了很多的资料终于能够查出来了。 blob字段直接用 select * from table_name where column like ‘%%'查找的时候是不能实现...
### Spring与Hibernate处理大字段(CLOB/BLOB) 在企业级应用开发中,经常会遇到需要存储大量文本或二进制数据的情况,这时就需要用到数据库的大字段类型如CLOB(Character Large Object)和BLOB(Binary Large ...
在10g版本中,ODI提供了处理大字段(如BLOB和CLOB类型)的能力,这在处理大量非结构化或半结构化数据时尤为重要。在"odi10g大字段知识模块"中,我们主要探讨的是如何在ODI环境中有效地管理和迁移这些大字段数据。 ...
一个完整的工程,主要功能为:spring+hbernate对clob、blob字段的处理 包括:数据脚本、典型的SSH框架处理,以及spring、hibernate数据批量保存等功能源码、所用到的lib包 数据环境为:oracle 10G 开发:Mycelipse5.1...
在Hibernate中,我们通常使用`Blob`和`Clob`类型来映射这些大字段。 **一、Hibernate配置** 在Hibernate配置文件(hibernate.cfg.xml)中,确保已经正确设置了数据库连接参数,并且JDBC驱动支持大字段的处理。对于...
由于大数据字段可能包含大量数据,为提高效率和避免内存过度占用,OO4O采用设定读写缓冲区的方式来分次读写大字段。 例如,写入BLOB字段的典型代码如下: 1. 首次写入时,需要先插入一个空值,然后编辑该字段,插入...
总之,处理大字段是Java企业级应用开发中的常见挑战,通过合理的数据模型设计、数据库优化和框架配置,我们可以有效地管理和操作这些大数据。这个"spring1.2+hibernate2对大字段的处理实例"就是一个很好的学习资源,...
在合并之前,还需要特别关注那些包含大字段(如 BLOB 或 CLOB)的表,因为这些类型的字段需要特殊的处理方法。可以使用以下 SQL 语句来查找: ```sql SELECT segment_name, t.tablespace_name, t.segment_type FROM ...
在IT领域,尤其是在数据库管理与查询中,遇到中文字符显示为乱码是一个常见的问题,尤其在使用PL/SQL Developer或类似工具查询Oracle数据库时。本文将深入探讨这一问题的成因,并提供有效的解决方案。 ### PL/SQL...