package com.itheima.clob.test;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet; import org.junit.Test; import com.itheima.utils.JdbcUtil; /**
* 大二进制数据读写(图片,电影,音乐,字节码文件) Mysq: blob longblob
* @author wangli
*
*
use day16;
create table testblob(
id int primary key,
content longblob
);
*
*/
public class BlobTest02 {
//写一个图片到数据表中 测试时显示记录,注意 select id from testblob;
@Test
public void testAddBlob(){
Connection con = null;
PreparedStatement st =null; try {
con = JdbcUtil.getConnection();
String sql="insert into testblob values(?,?)";
st = con.prepareStatement(sql); //赋值
st.setInt(1, 1);
InputStream is = new FileInputStream("src/1.jpg");//找到src下的文件1.jpg
st.setBinaryStream(2, is, is.available());
st.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally{
JdbcUtil.release(null, st, con);
}
} @Test //读取一个图片
public void testReaderblob(){
Connection con = null;
PreparedStatement st =null;
ResultSet rs = null;
try {
con = JdbcUtil.getConnection();
String sql="select * from testblob where id=?";
st = con.prepareStatement(sql); //赋值
st.setInt(1, 1); //3.读取
rs = st.executeQuery();
if(rs.next()){
//结果集中有数据
InputStream is = rs.getBinaryStream("content");
OutputStream os = new FileOutputStream("d:/1.jpg");
int len=-1;
byte buffer[] = new byte[1024];
while((len=is.read(buffer))!=-1){
os.write(buffer, 0, len);
}
os.close();
is.close();
}
} catch (Exception e) {
e.printStackTrace();
}finally{
JdbcUtil.release(null, st, con);
}
}
}

二进制读取 jdbc的更多相关文章

  1. python用二进制读取文件

    python二进制读取文件 很多时候,都需要用到二进制读取文件.毕竟很多信息不是以文本的形式存储.例如:图片,音乐等等.这些东西都是有规则的二进制文件. 在python中,二进制读取采用rb的方式. ...

  2. java Spring使用配置文件读取jdbc.properties

    Spring使用配置文件读取jdbc.properties 在beans.xml中加入两个必须的bean [html]<bean id="propertyConfigurer" ...

  3. 快学Scala 第十五课 (二进制读取文件,写文件,访问目录,序列化)

    二进制读取文件: val file = new File("F:\\scalaWorkspace\\ScalaLearning\\files\\test.txt") val in ...

  4. c文件二进制读取写入文件、c语言实现二进制(01)转化成txt格式文本、c读取文件名可变

    c语言实现二进制(01)转化成txt格式文本: 下面的程序只能实现ascall对应字符转换,如果文件内出现中文字符,则会出现错误. 本程序要自己创建个文本格式的输入文件a1.txt,编译后能将文本文件 ...

  5. c# 以二进制读取文本文件

    using System; using System.IO; public class FileApp {     public static void Main()     {         // ...

  6. 【QT】二进制读取图像文件并显示

    打开对话框选择文件 二进制方式读取文件 转换成图像显示 void MainWindow::showImage() { //打开文件对话框 QString lastPath="D:/Engli ...

  7. Java 学习笔记之读取jdbc.propertyes配置参数

    package test; import java.io.IOException; import java.io.InputStream; import java.util.Properties; p ...

  8. MyBatis模糊查询异常: '%${}''读取jdbc属性

    '%${}''总是传root, 后来发现${username}读取了jdbc里面的属性username,于是将jdbc属性名修改,成功

  9. spring读取jdbc(file方式)

    使用PropertyPlaceholderConfigurer类载入外部配置 在Spring项目中,你可能需要从properties文件中读入配置注入到bean中,例如数据库连接信息,memcache ...

随机推荐

  1. C#某月的第一天和最后一天

    1.本月的第一天===>DateTime.Now.AddDays(1 - DateTime.Now.Day);//当前日期减去当前日期和本月一号相差天数 2.本月的最后一天===>Date ...

  2. CSS3 日常小结

    1. pointer-events:none; 2. flex 今天看到一个牛X的CSS3属性 flex, 称为弹性盒子.  这中属性完全可以替代媒体查询啦 使用方法: 父元素使用属性display ...

  3. Scala总结

    Scala总结 ===概述 scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言. scala是纯粹的面向对象的语言.java虽然是面 ...

  4. js强加方法

    (function () { Array.prototype.removeItem=function (item) { var index=this.indexOf(item); if(index!= ...

  5. Linux统计文件夹占用空间大小--du命令基本用法

    命令行环境下要知道linux系统里一个文件夹以及其包含的文件实际所占用的空间大小,linux自带的命令 du可以很好地满足需求. 其他的用法我就不一一写出来了,就列本人觉得会用得最多的,直接上: $ ...

  6. c++对象导出到lua

    转自:http://www.cnblogs.com/ringofthec/archive/2010/10/26/luabindobj.html 虽然有tolua++, luabind等等, 不过自己手 ...

  7. 电脑当路由使用(目前只在win7上用过)

    前提:电脑有无线网卡,并打开了无线 第一步使用管理员权限运行cmd.exe 1.执行如下命令 netsh wlan set hostednetwork mode=allow ssid=myWifi k ...

  8. k8s 基础 docker-ce 安装(注k8s 的安装需要用此版docker 否则会报错 )

    yum install -y yum-utils yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/ ...

  9. fdisk查看硬盘分区表

    fdisk [选项] <磁盘>    更改分区表 fdisk [选项] -l <磁盘> 列出分区表 fdisk -s <分区>        给出分区大小(块数) ...

  10. hadoop-2.3.0-cdh5.1.0伪分布安装(基于centos)

    一.环境 操作系统:CentOS 6.5 64位操作系统  注:Hadoop2.0以上采用的是jdk环境是1.7,Linux自带的jdk卸载掉,重新安装 下载地址:http://www.oracle. ...