jdbc读写二进制文件

简介: jdbc读写二进制文件

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.sql.Blob;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;



public class BinTest {

public static void main(String[] args) throws IOException, SQLException

{

 read();

}

private static void read() throws SQLException, IOException

{

 Connection conn = null;

 PreparedStatement ps = null;

 ResultSet rs = null;

 try {

 conn = JdbcUtils.getConnection();

 

 String sql = "select con_bin from blobtest";

 

 ps = conn.prepareStatement(sql);

 

 

 

 rs = ps.executeQuery();

 

 while (rs.next())

 {

  Blob b = rs.getBlob(1);

 

  InputStream fi = rs.getBinaryStream(1);

 

  File file = new File("F:\\mysql官方ppt.pptx");

  FileOutputStream fo = new FileOutputStream(file);

  BufferedOutputStream bo = new BufferedOutputStream(fo);

  byte[] buff  = new byte[1024];

  int i=0;

  while((i = fi.read(buff))>0)

  {

   bo.write(buff);

  }

 

  bo.close();

  fo.close();

  fi.close();

 }

 

 

 

 

} finally

{

 JdbcUtils.release(rs, ps, conn);

}

}

private static void write() throws IOException, SQLException

{

 Connection conn = null;

 PreparedStatement ps = null;

 ResultSet rs = null;

 try {

 conn = JdbcUtils.getConnection();

 

 String sql = "insert into blobtest(con_bin) values (?)";

 

 ps = conn.prepareStatement(sql);

 

 File f = new File ("E:\\MySQL—oracle学习中心.pptx");

 FileInputStream fi = new FileInputStream(f);

 BufferedInputStream bi = new BufferedInputStream(fi);

 

 ps.setBinaryStream(1, bi,f.length());

 

 int change_count = ps.executeUpdate();

 

 bi.close();

 fi.close();

 

 

 System.out.println(change_count);

 

} finally

{

 JdbcUtils.release(rs, ps, conn);

}

}

————————————————

版权声明:本文为CSDN博主「明明如月学长」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/w605283073/article/details/46572491

相关文章
|
分布式计算 关系型数据库 MySQL
SparkSQL 读写_JDBC_写入数据 | 学习笔记
快速学习 SparkSQL 读写_JDBC_写入数据
269 0
SparkSQL 读写_JDBC_写入数据 | 学习笔记
|
SQL 分布式计算 关系型数据库
SparkSQL 读写_JDBC_MySQL 环境准备 | 学习笔记
快速学习 SparkSQL 读写_JDBC_MySQL 环境准备
105 0
SparkSQL 读写_JDBC_MySQL 环境准备 | 学习笔记
|
3月前
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
728 1
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
154 0
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
68 0
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
87 0
|
5月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
73 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
5月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
258 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)