<十>JDBC_处理Blob类型数据



/*
* 读取BLOB数据:
* 使用getBlob方法读取到Blob对象
* 调用Blob的getBinaryStream(方法得到输入流,在使用IO操作
* */
@Test
public void readBlob(){
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try {
conn=JDBCTools.getConnection();
String sql="select * from customers where id=8";
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
if (rs.next()) {
int id=rs.getInt(1);
String name=rs.getString(2);
String email=rs.getString(3);
Blob picture=rs.getBlob(5);
InputStream in=picture.getBinaryStream();
OutputStream os=new FileOutputStream("xrk.jpg");
byte[] buffer=new byte[1024];
int len=0;
while((len=in.read(buffer))!=-1){
os.write(buffer, 0, len);
}
os.close();
in.close();
System.out.println(id+" "+name+" "+email);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
JDBCTools.release(rs, ps, conn);
}
}
/*
* 插入BLOB类型的数据必须使用PreparedStatement:因为BLOB类型的数据是无法使用字符串拼写的
* */
@Test
public void testInsertBlob(){
Connection conn=null;
PreparedStatement ps=null;
try {
conn=JDBCTools.getConnection();
String sql="insert into customers (name,email,birth,picture)values(?,?,?,?)";
ps=conn.prepareStatement(sql);
ps.setString(1, "zpy");
ps.setString(2, "zpy@.com");
ps.setDate(3, new Date(new java.util.Date().getTime()));
InputStream is=new FileInputStream("kk.jpg");
ps.setBlob(4, is);
ps.executeUpdate();
} catch (Exception e) {
JDBCTools.release(null, ps, conn);
}
}
<十>JDBC_处理Blob类型数据的更多相关文章
- mysql存取blob类型数据
参考网址:http://www.cnblogs.com/jway1101/p/5815658.html 首先是建表语句,需要实现将表建立好. CREATE TABLE `blobtest` ( `pr ...
- mybatis 处理CLOB/BLOB类型数据
BLOB和CLOB都是大字段类型. BLOB是按二进制来存储的,而CLOB是可以直接存储文字的. 通常像图片.文件.音乐等信息就用BLOB字段来存储,先将文件转为二进制再存储进去.文章或者是较长的文字 ...
- JDBC基础学习(三)—处理BLOB类型数据
一.BLOB类型介绍 在MySQL中,BLOB是一个二进制的大型对象,可以存储大量数据的容器,它能容纳不同大小的数据. 在MySQL中有四种BLOB类型. 实际使 ...
- 插入与读取Blob类型数据
BlobTest package com.aff.PreparedStatement; import java.io.File; import java.io.FileInputStream; imp ...
- KingbaseES blob 类型数据导入导出
KingbaseES兼容了oracle的blob数据类型.通常是用来保存二进制形式的大数据,也可以用来保存其他类型的数据. 下面来验证一下各种数据存储在数据库中形式. 建表 create table ...
- oracle 向表中插入BLOB类型数据
提示: 待插入图片必须保存到oracle主机路径上. 步骤: 1.SYSDBA权限用户创建图片所在目录 CREATE OR REPLACE DIRECTORY TEST_DIR AS 'C:\Pict ...
- 读取和写入blob类型数据
读写oracle blob类型 http://zyw090111.iteye.com/blog/607869 http://blog.csdn.net/jeryjeryjery/article/de ...
- 基于PLSQL的数据库备份方法及如何解决导出clob和blob类型数据报错的问题
基于PL/SQL的数据库备份方法 PL/SQL Developer是Oracle 数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对 ...
- jsp页面file标签上传图片以及blob类型数据库存取。
我的jsp页面表单如下: <form name="form1" action="/YiQu/AddUserServlet?jurisdiction=1" ...
随机推荐
- IOS-UIDynamic
UIDynamic中的三个重要概念 Dynamic Animator:动画者,为动力学元素提供物理学相关的能力及动画,同时为这些元素提供相关的上下文,是动力学元素与底层iOS物理引擎之间的中介,将Be ...
- wpf listview
<Window x:Class="WpfTutorialSamples.ListView_control.ListViewGridViewSample" xml ...
- [笔记]linux下环境变量配置字段
一般修改/etc/profile文件 java: export JAVA_HOME=/usr/lib/java/jdk1.8.0_92export CLASSPATH=.:$JAVA_HOME/lib ...
- H5(三)
Canvas(画布) 基本内容 简单来说,HTML5提供的新元素<canvas> Canvas在HTML页面提供画布的功能 在画布中绘制各种图形 C ...
- 使用VBScript实现设置系统环境变量的小程序
本人有点桌面洁癖,桌面上只放很少的东西,很多软件都用快捷键调出.最近频繁用到一个软件,我又不想放个快捷方式在桌面,也不想附到开始菜单,于是乎想将其所在目录附加到系统环境变量Path上,以后直接在运行中 ...
- vim 加行号 和取消行号
:set nu #是加行号 :set nonu #是去掉行号
- JavaScript浮动广告代码,容纯DIV/CSS对联漂浮广告代码,兼容性非常好的js右下角与漂浮广告代码
基于JavaScript代码实现随机漂浮图片广告,javascript图片广告 在网上有很多这样的代码,不过未必符合W3C标准,因为在头部加上<!DOCTYPE html>类似标签之后,漂 ...
- Jenkins 2.16.3默认没有Launch agent via Java Web Start,如何配置使用
问题:Jenkins 2.16.3默认没有Launch agent via Java Web Start,如下图所示,而这种启动方式在Windows上是最方便的. 如何设置才能让出来呢? 打开&quo ...
- 关于Knockout的开始
最近看了汤姆大叔的Knockout,感到MVVM的神奇,也许这就是以后编程的方式,最直观的感觉就是层次更分明了. 绑定,模型转换,监控,在我来说,这算是编程上的一个转变,在以后我做不定期的更新一些MV ...
- 删除流氓软件McAfee
如何解决卸载McAfee时出现"处于托管模式时无法删除"问题 问题现象: 这几天在为客户终端换装杀毒软件时出现这么一个问题:在控制面板的添加或删除程序里面将"McAfee ...