PutFile.java
import java.io.File;
import java.io.FileInputStream;
import java.sql.*; public class PutFile { public static void main(String args[]) { Connection conn = null;
PreparedStatement psmd = null;
String sql = null; try {
conn = ConnUtil.getConn();
File file = new File("F:\\1.jpg");// 要转换的文件
FileInputStream inputStream = new FileInputStream(file);// 将文件按二进制存储在一个字段内
// CREATE TABLE images (imgname text, img bytea);
sql = " insert into images values(?,?)";
psmd = conn.prepareStatement(sql);
psmd.setString(1, file.getName());
psmd.setBinaryStream(2, inputStream, (int) file.length());
int rs = psmd.executeUpdate(); if (rs < 0) {
System.out.println("存入数据失败!!!");
} else {
System.out.println("存入数据成功!!!");
}
} catch (Exception e) {
e.printStackTrace();
}
if (psmd != null) {
try {
psmd.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
GetFile.java
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.sql.*; public class GetFile { public static void main(String args[]) { Connection conn = null;
PreparedStatement psmd = null;
String sql = null;
OutputStream out = null; try {
conn = ConnUtil.getConn();
// CREATE TABLE images (imgname text, img bytea);
sql = " SELECT img FROM images WHERE imgname = ?";
psmd = conn.prepareStatement(sql);
psmd.setString(1, "1.jpg");
ResultSet rs = psmd.executeQuery();
while(rs.next()) {
byte[] imgBytes = rs.getBytes(1);
// 实例化OutputStream对象,在f盘创建一个图片文件
out = new FileOutputStream("f:\\2.jpg");
// 将文件输出,内容则为byte数组里面的数据
out.write(imgBytes);
out.flush();
System.out.println("获取数据成功!!!");
}
} catch (Exception e) {
e.printStackTrace();
} if (psmd != null) {
try {
psmd.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} }
ConnUtil.java import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; public class ConnUtil { public static Connection getConn() {
Connection conn = null;
try {
Class.forName("com.scistor.swift.jdbc.Driver"); // 驱动
String url = "jdbc:swift://192.168.8.103:2345/swfit"; // 连接数据库的url
try {
conn = DriverManager.getConnection(url, "super", "111111"); // super 为数据库用户名,111111为密码
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} return conn;
} }

  

JDBC存取二进制文件示例的更多相关文章

  1. Spring JDBC常用方法详细示例

    Spring JDBC使用简单,代码简洁明了,非常适合快速开发的小型项目.下面对开发中常用的增删改查等方法逐一示例说明使用方法 1 环境准备 启动MySQL, 创建一个名为test的数据库 创建Mav ...

  2. Spring JDBC SqlUpdate类示例

    org.springframework.jdbc.object.SqlUpdate类提供了表示SQL更新的可重用操作对象. 使用到的 Student 表的结构如下 - CREATE TABLE Stu ...

  3. Spring JDBC StoredProcedure类示例

    org.springframework.jdbc.core.StoredProcedure类是RDBMS存储过程的对象抽象的超类.这个类是抽象的,目的是让子类将提供一个用于调用的类型化方法,该方法委托 ...

  4. Spring JDBC SqlQuery类示例

    org.springframework.jdbc.object.SqlQuery类提供了表示SQL查询的可重用操作对象. 使用到的 Student 表的结构如下 - CREATE TABLE Stud ...

  5. Spring JDBC SimpleJdbcCall类示例

    org.springframework.jdbc.core.SimpleJdbcCall类是表示对存储过程或存储函数的调用的多线程,可重用的对象. 它提供元数据处理以简化访问基本存储过程/函数所需的代 ...

  6. Spring JDBC SimpleJdbcInsert类示例

    org.springframework.jdbc.core.SimpleJdbcInsert类是一个多线程,可重用的对象,为将数据插入表提供了易用的功能.它提供元数据处理以简化构建基本insert语句 ...

  7. Spring JDBC RowMapper接口示例

    JdbcTemplate类使用org.springframework.jdbc.core.RowMapper <T>接口在每行的基础上映射ResultSet的行.该接口的实现执行将每行映射 ...

  8. Spring JDBC ResultSetExtractor接口示例

    org.springframework.jdbc.core.ResultSetExtractor接口是JdbcTemplate的查询方法使用的回调接口.此接口的实现执行从ResultSet提取结果的实 ...

  9. Spring JDBC PreparedStatementSetter接口示例

    org.springframework.jdbc.core.PreparedStatementSetter接口充当JdbcTemplate类使用的一般回调接口.该接口在JdbcTemplate类提供的 ...

随机推荐

  1. Linux下配置用msmtp和mutt发邮件

    Linux下可以直接用mail命令发送邮件,但是发件人是user@servername,如果机器没有外网的dns,其他人就无法回复.此时,有一个可以使用网络免费邮箱服务的邮件发送程序就比较重要了.ms ...

  2. was7 安装遇到问题(Linux平台Redhat 6)

    1../launchpad.sh 无法启动安装,提示无法找到浏览器 解决:直接进入WAS文件夹,执行install cd WAS ./install 2.安装时中文乱码 设置区域为美国: LANG=e ...

  3. LoadRunner 文本检查点使用

    在测试时,我们可以根据文本检查点判断事务是否执行正确.   我们在启动流程时,成功返回:   我们检查这个响应结果是否有. int i=0; i=web_reg_find("Text=\&q ...

  4. SqlServer2008快照隔离模式的业务应用

    场景: 有200个检测点,每个检测点每天采集5个数据,对表的读写都是随机的(即有可能同时读写),总共有5年的数据. 存储方案A: 日期 点号 类型 值 20120101 001 A 1.0 20120 ...

  5. HTTPS是如何保证连接安全,你知道吗?

    HTTPS协议的工作原理是什么?”这是我在数天前工作项目中需要解决的问题. 作为一名Web开发者,我当然知道 HTTPS 协议是保障用户敏感数据的好办法,但并不知道这种协议的内在工作机制. 它怎么保护 ...

  6. 一模 (2) day2

    第一题: 题目大意:给出n种物品和每种物品的件数,求拿k件的方案数.N<=30 解题过程: 1.一开始总想着是组合数学的模型,结果怎么都想不出来..然后写了个爆搜,数据很弱,只有1个点超时. 2 ...

  7. No module ata_piix found的解决方法

    在一台as4u6的机器上升级内核到2.6.18时,最好make install的时候报了一个WARNING: No module ata_piix found for 2.6.18, 开始没有在意,重 ...

  8. 前端CSS编程之道-LESS

    由于前端css编写繁琐,最近开始学习LESS,用LESS编写文件.less文件可以直接编译成我们要的.css文件 学习Less 我下面是我练习时的截图,希望小伙伴也能动手自己写一下,而不是复制粘贴模式 ...

  9. 在oracle中创建空间索引

    Oracle spatial可以方便的存储空间数据,大量的空间数据必需要使用空间索引去查询.在oracle中创建空间索引必需先建立元数据,否则无法创建索引.创建元数据的代码: insert into ...

  10. self.view 的不当操作造成死循环

    如题,在创建ContentView的时候,例子如下 NSString *viewClassName = NSStringFromClass([self class]); viewClassName = ...