jdbc blob插入及查询操作
首先建一张表
create table picture(
picId char(6) primary key not null,
picName nvarchar(20) not null,
picfile image null
)
insert操作
//存入一张图片
static public void testInsert() {
Connection con = null;
PreparedStatement ps = null;
try {
con = JDBCUtils.getConnection();
String sql = "insert into picture values(?,?,?)";
ps = con.prepareStatement(sql);
ps.setObject(1, "000000");
ps.setObject(2, "zsben照片");
File f = new File("zsben.jpg");
FileInputStream is = new FileInputStream(f);
ps.setBinaryStream(3, is, f.length()); ps.execute();
System.out.println("执行成功"); }
catch(Exception ex) {
ex.printStackTrace();
}
finally {
JDBCUtils.closeResource(con, ps);
}
}
select 操作
//查询数据表中blob类型的字段
static public void testQuery() {
Connection con = null;
PreparedStatement ps = null;
ResultSet res = null;
try {
con = JDBCUtils.getConnection();
String sql = "select picId,picName,picfile from picture where picId = ?";
ps = con.prepareStatement(sql);
ps.setObject(1, "000000"); res = ps.executeQuery();
if(res.next()) {
String picId = res.getString(1);
String picName = res.getString(2); Picture pic = new Picture(picId,picName);
System.out.println(pic); Blob photo = res.getBlob(3);
InputStream is = photo.getBinaryStream();
FileOutputStream fos = new FileOutputStream("zsbenn.jpg");
byte[] buffer = new byte[1024];
int len;
while((len = is.read(buffer))!=-1) {
fos.write(buffer,0,len);
}
}
System.out.println("执行成功");
}
catch(Exception ex) {
ex.printStackTrace();
}
finally {
JDBCUtils.closeResource(con, ps, res);
}
}
jdbc blob插入及查询操作的更多相关文章
- beego orm 多对多插入和查询操作
// User 用户表 type User struct { ID int UserName string Password string Articles []*Article `orm:" ...
- Phoenix表和索引分区数对插入和查询性能的影响
1. 概述 1.1 HBase概述 HBase由master节点和region server节点组成.在100-105集群上,100和101是master节点,102-105是region serve ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- EF框架操作postgresql,实现WKT类型坐标的插入,查询,以及判断是否相交
1.组件配置 首先,要下载.NET for Postgresql的驱动,npgsql,EF6,以及EntityFramework6.Npgsql,版本号 3.1.1.0. 由于是mvc项目,所以,把相 ...
- JDBC的使用五大步骤以及查询操作-数据库编程(二)
jdbc的使用步骤 1.加载jdbc的驱动. 2.打开数据库的连接. 3.建立一个会话,然后执行增删改查等基本的操作. 4.对结果进行处理 5.对环境进行清理,比如关闭会话等. 查询操作 首先用Cla ...
- JDBC最原始的代码做查询操作
首先编写一个User类. public class User { private String username; private String password; public String get ...
- 在MyBatis中查询数据、涉及多参数的数据访问操作、插入数据时获取数据自增长的id、关联表查询操作、动态SQL、关于配置MyBatis映射没有代码提示的解决方案
1. 单元测试 在单元测试中,每个测试方法都需要执行相同的前置代码和后置代码,则可以自定义2个方法,分别在这2个方法中执行前置代码和后置代码,并为这2个方法添加@Before和@After注解,然后, ...
- 使用元数据简化jdbc代码---查询操作(用到反射)
使用元数据简化jdbc代码---查询操作(用到反射) 一 思路分析 简化就是把共同的地方提取出来并放到一个方法里,在用到时只要调用就ok了,上一篇介绍了更新的操作,而查询的操作相对来说比较复杂,因为 ...
- MySQL数据库表的数据插入、修改、删除、查询操作及实例应用
一.MySQL数据库表的数据插入.修改.删除和查询 CREATE DATABASE db0504; USE db0504; CREATE TABLE student ( sno ) NOT NULL ...
随机推荐
- 【Vim编辑器】基本命令
前言 工作中免不了会使用到vim编辑文档,总会觉得不好上手,遂从网上找到一篇说明文档整理如下,共勉. 原文地址: https://www.cnblogs.com/shiyanlou/archive/2 ...
- PHPthink 配置目录
系统默认的配置文件目录就是应用目录(APP_PATH),也就是默认的application下面,并分为应用配置(整个应用有效)和模块配置(仅针对该模块有效). ├─application 应用目录 │ ...
- 洛谷P3372/poj3468(线段树lazy_tag)(询问区间和,支持区间修改)
洛谷P3372 //线段树 询问区间和,支持区间修改 #include <cstdio> using namespace std; struct treetype { int l,r; l ...
- CSP-S2019退役记/爆内存记
DAY 0 准备出发. 出发前教练说遇到事不慌,打电话,又听教练说了说历年赶车经历. 然后这趟路上居然没有什么大事. 在车上有些闲,于是就和其他人聊了会天,聊着聊着没意思,就用手机翻博客园. 这样就不 ...
- Linux sudo 详解
简单的说,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码.严谨些说,sudo 允许一个已授权用户以超级用户或者其它用户的角色 ...
- 老牌激活工具 — Microsoft Toolkit 2.5.1正式版【转】
老牌激活工具 — Microsoft Toolkit 2.5.1正式版 Microsoft Toolkit 2.5.1是一个一键激活MS Office 及 win系统的工具.原理就是利用KMS来激活 ...
- DCloud-MUI-JS:相关摘录
ylbtech-DCloud-MUI-JS:相关摘录 1.返回顶部 1.JS initFun: function() { var oldBack = mui.back; mui.back = func ...
- (65)C# 任务
1.启动任务 //Framework4.5新增的Task.Run开启一个任务,Run方法中传入一个Action委托 Task.Run(()=> { Thread.Sleep(); Console ...
- Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest
解决办法: 删除对应的jar 包下的文件 zip -d *.jar META-INF/*.RSA META-INF/*.SF
- 控件识别工具Inspect.exe下载
一.Inspect.exe 控件识别工具.官网上说通过下载安装Windows SDK后,可以在目录C:\Program Files (x86)\Microsoft SDKs\Windows Kits\ ...