- 浏览: 148569 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
aa00aa00:
不醋,当时就是看见这个学习的
ssh + pager-taglib 分页小程序 -
animo_itey:
楼主能提供下jar包不.?
ssh + pager-taglib 分页小程序 -
中尚洋流空间:
里面的JS哪去了啊?引入的自定义的JS呢?
深入浅出Extjs的源码 -
laijm1985:
谁告诉你TPL没有else的,别在这误导人 ' ...
extjs模板的使用 -
zuoanlove:
谢谢
深入浅出Extjs的源码
使用jdbc操作大段文本和二进制数据类型
1 clob类型 用以存储大容量的文本
mysql中对应的字段类型是mediumText ,text 和longTetxt
向数据库中插入大段的文本
读取clob类型的数据
2 blob类型用以存储二进制的数据
mysql对应的字段类型: mediumBlob,Bolb,LongBlob
插入数据
读取bolb的数据
1 clob类型 用以存储大容量的文本
mysql中对应的字段类型是mediumText ,text 和longTetxt
向数据库中插入大段的文本
public static void insert(){ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { String sql = "insert into clob(content) values(?)"; conn = JdbcUtils.getInstance().getConnection(); pstmt = conn.prepareStatement(sql); File file = new File("src/jdbc/CRUD.java"); BufferedReader br = new BufferedReader(new FileReader(file)); pstmt.setCharacterStream(1, br, file.length()); int result = pstmt.executeUpdate(); System.out.println(result); br.close(); } catch (SQLException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { JdbcUtils.classAll(conn, pstmt, rs); } }
读取clob类型的数据
public static void read(){ Connection conn = null; Statement stmt = null; ResultSet rs = null; try { conn = JdbcUtils.getInstance().getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery("select content from clob where id = 2"); while (rs.next()) { Clob clob = rs.getClob("content"); Reader read = clob.getCharacterStream(); //Reader read = rs.getCharacterStream("content"); File file = new File("CRUD_bak.java"); BufferedWriter bw = new BufferedWriter(new FileWriter(file)); char[] buffer = new char[1024]; /*for(int i; (i=read.read(buffer)) >0;){ bw.write(buffer, 0, i); }*/ int c = -1; while((c = read.read(buffer)) != -1){ bw.write(buffer, 0, c); } bw.close(); read.close(); //System.out.println(rs.getString("content")); } } catch (SQLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { JdbcUtils.classAll(conn, stmt, rs); } }
2 blob类型用以存储二进制的数据
mysql对应的字段类型: mediumBlob,Bolb,LongBlob
插入数据
public static void insertBlob() { Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { String sql = "insert into blob_(content) values(?)"; conn = JdbcUtils.getInstance().getConnection(); pstmt = conn.prepareStatement(sql); File file = new File("Ext2.2英文API.CHM"); BufferedInputStream fis = new BufferedInputStream( new FileInputStream(file)); pstmt.setBinaryStream(1, fis, fis.available()); int result = pstmt.executeUpdate(); System.out.println(result); fis.close(); } catch (SQLException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { JdbcUtils.classAll(conn, pstmt, rs); } }
读取bolb的数据
public static void readBlob() { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { conn = JdbcUtils.getInstance().getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery("select content from blob_ where id = 3"); while (rs.next()) { //Blob blob = rs.getBlob("content"); //InputStream is = blob.getBinaryStream(); InputStream is = rs.getBinaryStream("content"); File file = new File("Ext2.2英文API_bak.CHM"); FileOutputStream os = new FileOutputStream(file); int i =0; while((i = is.read()) != -1){ os.write(i); } os.close(); is.close(); } } catch (SQLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { JdbcUtils.classAll(conn, stmt, rs); } }
发表评论
-
在google上搭建了一个博客
2010-06-12 19:57 483最近也在google application engine上搭 ... -
eclipse 反编译 plugins
2010-04-12 17:13 1069http://jd.benow.ca/jd-eclipse/u ... -
访问配置了https的hessian
2009-12-24 17:31 4020tomcat下simple配置了https协议 Hessi ... -
java读取ini的配置文件
2009-10-20 14:04 2076由于项目需求,需要读取这种格式的ini配置文件 [grou ... -
jrockit连接tomcat的参数
2009-09-07 10:49 2233通过指定Java程序使用的网络端口来使用Mission Con ... -
项目中使用的ehCache的工具类
2009-08-27 10:38 2107import java.io.Serializable; ... -
openssl 学习
2009-07-28 17:04 1638使用des3加密 -k 密码 -in 加密的文件 -out ... -
再现java多线程的经典实例===生产者和消费者的问题
2009-07-24 14:38 2509这两天用到了多线程,于是重新复习了一下,并且模拟了 多线程的经 ... -
java 线程死锁的小例子
2009-07-23 13:02 2872public class TestDeadLock i ... -
hessian轻量级的二进制webservices
2009-06-28 11:18 863hessian是一个轻量级的二进制webservices 1 ... -
request.getRealPath的替代
2009-06-11 11:06 1807在servlet中request.getRealPath(St ... -
处理*.do的请求
2009-05-27 12:19 1418public class ServiceServlet e ... -
页面禁止缓存
2009-05-07 14:28 1219httpres.setHeader("Pragma& ... -
iBatis的代码生成工具
2009-04-30 11:59 1844iBatis的代码自动生成工具abator 今天试了以下,感 ... -
dom4j
2009-04-23 15:15 1211SAXReader reader = new SAXRe ... -
判断每个ip是否在以个指定的IP段内
2009-04-16 16:55 1667package com.tiansong.infosafe ... -
使用ant和YUI Compressor压缩js css
2009-04-16 14:02 3211用到两个jar包 YUIAnt.jar 下载地址 http: ... -
YUI Compressor js/css压缩工具
2009-04-16 10:03 1920YUI Compressor是Julien Lecomte提供 ... -
MyEclipse耗内存的决绝办法
2009-04-15 09:20 12031 老是弹出Quick update error 这个问题的 ... -
用jquery + DWR模拟在线词典
2008-11-13 15:26 1415昨天晚上看到一位仁兄发的一贴,就是一个链接 一个在线词典的AJ ...
相关推荐
为了解决这个问题,MySQL提供了BLOB(Binary Large Object)和TEXT类型,它们专门设计用来存储大量的文本和二进制数据。 1. **BLOB和TEXT类型** - **BLOB** 类型用于存储二进制数据,有TINYBLOB、BLOB、MEDIUMBLOB...
在数据库管理领域,存储和检索图片或二进制数据是一项常见的需求。Oracle、SQL Server 2000以及MySQL这三种流行的数据库系统都提供了相应的方法来处理这些非结构化数据。下面将详细介绍这三个数据库系统在存储和访问...
4. **跨数据库操作**:在SQL Server和Oracle之间迁移或共享图片数据时,可能需要使用数据迁移工具或编程接口,如ODBC或JDBC,将二进制流从一个数据库复制到另一个。 5. **性能考虑**: - **存储效率**:存储二进制...
在关系型数据库如MySQL、PostgreSQL、Oracle和SQL Server中,BLOB是一个特殊的数据类型,用于存储大量的二进制数据,例如图片、音频或视频文件。在SQL Server中,这种类型被称为`VARBINARY(MAX)`,它允许存储最多2^...
在IT领域,数据库中存储图片通常以二进制流(Binary Stream)的形式进行,这是因为二进制流可以高效地处理图像数据,同时节省存储空间。本文将深入探讨如何实现从数据库中的二进制流转换为图片,并将其保存到本地...
在Java世界中,Java Persistence API(JPA)是用于管理和持久化对象的规范,它使得在关系数据库中操作数据变得更加简单。本篇文章将深入探讨如何使用JPA进行单表注解配置,涵盖日期、大文本、二进制文本以及枚举类型...
在循环中,代码读取每条记录的`id`字段和`data`字段,`data`字段包含了二进制图片数据。`rs.getString("id")`获取`id`字段的值,而`rs.getBinaryStream("data")`则返回`data`字段的二进制输入流。 接下来,使用`...
在IT领域,数据库常用于存储各种类型的数据,包括文本、数字以及图像等非...这个过程涉及到数据库操作、二进制数据处理以及图片编码等多个技术点,理解并掌握这些知识对于开发涉及数据库存储和检索图片的应用至关重要。
3. **准备数据库连接和SQL语句**:连接到数据库,创建一个可以存储二进制数据的表,通常会有一个BLOB(Binary Large Object)类型的字段来存储图片。编写一个SQL插入语句,用于将图片的字节数组存入数据库。 4. **...
在Java编程环境中,Blob对象是JDBC API的一部分,用于存储和检索大型二进制数据。 首先,我们需要理解如何从数据库中获取Blob数据。在Java中,Blob对象可以从ResultSet中检索,然后通过其getBinaryStream()方法获取...
在实际开发中,我们经常需要将二进制文件存储在数据库中,以便于后续的使用和管理。在这篇文章中,我们将介绍如何通过Java或JSP向MYSQL数据库中写入二进制文件。 首先,我们需要了解MYSQL存储大容量的二进制文件的...
创建一个包含图片信息的表,至少需要两个字段:`id`(主键,用于唯一标识图片)和`image_data`(Blob类型,存储图片二进制数据)。 2. **图片上传**:当用户上传图片时,应用需要将图片文件读取为字节流,然后存入...
总之,将Spring MVC与Oracle结合,处理图片二进制流,需要理解二进制流的概念,掌握文件读写、数据库操作以及Spring MVC的Controller和Service层处理逻辑。通过以上步骤,可以实现图片的上传、存储和展示,使得图片...
在MySQL数据库中存储二进制大对象(BLOB)数据,如图片,是常见的做法,因为这种方式便于管理和检索。在本示例中,我们将探讨如何查询包含二进制图片数据的MySQL数据库,并通过JSP(JavaServer Pages)展示这些图片...
2. **将二进制流写入数据库**: 描述如何使用JDBC连接数据库并将二进制流数据插入到指定表中。 3. **从数据库读取二进制流并展示**: 讲解如何查询数据库中的二进制流数据,并在HTML页面上进行展示的方法。 #### 二、...
4. **二进制类型**:如`BLOB`(二进制大对象)、`BINARY`(二进制字符串)、`VARBINARY`(可变长度二进制字符串),在JDBC中通常映射为`java.sql.Blob`和`byte[]`。 5. **NULL类型**:`NULL`表示字段值为空,它在...
在Oracle数据库中,我们创建了一个名为`images`的表,包含`id`和`image_data`两个字段,其中`image_data`字段是BLOB类型,用于存储图片的二进制数据。 当需要从数据库中取出图片并显示在网页上时,可以使用类似的...
- `BINARY`、`VARBINARY` 和 `LONGVARBINARY`:在 SQL 标准中定义的二进制数据类型,映射为 `java.sql.Types.BINARY`、`java.sql.Types.VARBINARY` 和 `java.sql.Types.LONGVARBINARY`。 - `RAW`:Oracle 中的二...
在 Java 中,对数据库的操作需要通过 JDBC(Java Database Connectivity)来实现,而在 JDBC 中,需要将 SQL Server 的数据类型映射到 Java 中的数据类型。下面将详细介绍 SQL Server 数据库类型对应 Java 中的数据...
综上所述,从SQL数据库中读取二进制图片并生成本地文件是一项常见的任务,涉及数据库操作、二进制数据处理和文件I/O。通过理解这些基本概念和技术,你可以有效地管理和利用存储在数据库中的图像资源。在给定的压缩包...