一、大文本存取:

我们有一本约10M的小说,现存入数据库:

代码如下:以junit测试的方式给出

package com.dzq.lob;import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Reader;
import java.io.Writer;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;import org.junit.Test;import com.dzq.util.JDBCUtils;public class TextDemo1 {
@Test
public void addText(){Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;String sql="insert into textdemo values (null,?,?)";try{conn=JDBCUtils.getConn();ps=conn.prepareStatement(sql);ps.setString(1, "钢铁是怎样炼成的.txt");File file=new File("1.txt");ps.setCharacterStream(2, new FileReader(file),(int)file.length());ps.executeUpdate();}catch(Exception e){e.printStackTrace();}finally{JDBCUtils.close(rs, ps, conn);}
}@Test
public void findText(){Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;String sql="select * from textdemo where id=?";try{conn=JDBCUtils.getConn();ps=conn.prepareStatement(sql);ps.setInt(1, 5);rs=ps.executeQuery();while (rs.next()) {String filename=rs.getString("name");Reader reader=rs.getCharacterStream("content");Writer writer=new FileWriter(filename);char []cs=new char[1024];int i=0;while ((i=reader.read(cs))!=-1) {writer.write(cs,0,i);}reader.close();writer.close();}}catch(Exception e){e.printStackTrace();}finally{JDBCUtils.close(rs, ps, conn);}
}
}

二、大二进制存取:

我们有一个mp3文件,现存入数据库

代码如下:

package com.dzq.lob;import java.io.File;
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.dzq.util.JDBCUtils;public class BlobDemo1 {@Testpublic void addBlob(){Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;String sql="insert into blobdemo values (null,?,?)";try{conn=JDBCUtils.getConn();ps=conn.prepareStatement(sql);ps.setString(1, "洛天依.mp3");File file=new File("1.mp3");ps.setBinaryStream(2, new FileInputStream(file),(int)file.length());ps.executeUpdate();}catch(Exception e){e.printStackTrace();}finally{JDBCUtils.close(rs, ps, conn);}}@Testpublic void findBlob(){Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;String sql="select * from blobdemo";try{conn=JDBCUtils.getConn();ps=conn.prepareStatement(sql);rs=ps.executeQuery();while (rs.next()) {String filename=rs.getString("name");InputStream in=rs.getBinaryStream("content");OutputStream out=new FileOutputStream(filename);byte []bs=new byte[1024];int i=0;while ((i=in.read(bs))!=-1) {out.write(bs,0,i);}in.close();out.close();}}catch(Exception e){e.printStackTrace();}finally{JDBCUtils.close(rs, ps, conn);}}
}

三、其中出现的问题见链接:

使劲点我啊

转载于:https://www.cnblogs.com/xiaoduc-org/p/5369319.html

20160408javaweb之JDBC 大二进制和大文件存取相关推荐

  1. 数据库相关(JDBC,存储过程,以及大文本数据处理,mvc设计模式)

    目录 1.jdbc总结(模板.八股文): 2.CallableStatement:调用 存储过程.存储函数 3.1JDBC调用存储过程的步骤: 3.2调存储函数: 3.处理CLOB/BLOB类型 4. ...

  2. 一篇文章带你了解大数据生态圈---大数据组件图谱

    小编一篇文章带你了解大数据生态圈-大数据组件图谱 转载地址:http://blog.csdn.net/u010039929/article/details/70157376 文章目录 小编一篇文章带你 ...

  3. 西工大数据库实验大作业 火锅店菜品管理系统

    西工大数据库实验大作业 火锅店菜品管理系统 文章目录 西工大数据库实验大作业 火锅店菜品管理系统 前言: 一.大作业简单的需求分析: 二.数据流图: 三.数据字典: 四.E-R图: 五.关系模式设计: ...

  4. 计算机进制各用什么字母表示方法,16进制字母大还是数字大 16进制中的字母代表什么...

    F字母使用大写这六个字母来分别表示16进制多位数字母需要换算,E,范围从00000000-111111表示0到2一位16进制数用二进制表示是xxxx最多只表示到15即对应16进制的F.作业,但这种混合 ...

  5. 新手入门大数据,大数据的入门!!!认识大数据

    大数据介绍 大数据的由来 大数据的应用领域 大数据方面核心技术有哪些? 一.数据采集与预处理 Flume NG NDC Logstash Sqoop 流式计算 Zookeeper 二.数据存储 HBa ...

  6. linux系统 大分区,linux大硬盘怎么分区

    随着硬盘的增大,linux系统对大硬盘,大分区的支持也有了相应的设置.很多刚刚学习的小白还是不太懂硬盘的挂载.为此学习啦小编为大家整理推荐了相关的知识,希望大家喜欢. linux大硬盘分区的详细方法 ...

  7. 程序员必知8大排序3大查找(三)

    前两篇 <程序员必知8大排序3大查找(一)> <程序员必知8大排序3大查找(二)> 三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表(以后谈) 一.顺序查找的基 ...

  8. 拿transformer做E2E全景分割,这个通用框架霸榜挑战赛,南大、港大联合提出

    视学算法报道 机器之心编辑部 本文中,来自南大.港大.英伟达等机构的研究者提出了一个使用 transformer 进行端到端全景分割的通用框架,不仅为语义分割与实例分割提供了统一的 mask 预测工作 ...

  9. 国内高校简称撞车史:南大、西大、东大都在争,唯独北大没人抢

    ‍ 文章 | 募格学术 高校因简称经常发生争议,今天小编就来盘点一下.高校简称背后的"爱恨情仇",都可以拍一出大型连续剧了. 你知道你们学校的简称是啥嘛? 用官方措辞解释,高校简称 ...

最新文章

  1. java.lang.ClasNotFoundException:Didnt findclass on path:DexPathList[[zip file
  2. django 打开的html css_Django分页完整示例
  3. Taro button点击切换选中状态
  4. python for else statement test
  5. S5PV210体系结构与接口07:中断系统编程
  6. 女生适合做程序员吗?
  7. AWS Fargate告诉你:什么是容器即服务
  8. 上周热点回顾(11.11-11.17)
  9. 赵鹏的《大师之路》教程
  10. 哔哩哔哩没有html5播放,解决哔哩哔哩网页版视频空白不能播放的方法
  11. windows操作快捷键
  12. 数据库操作(DML,DCL,DQL)
  13. 绩效管理实务与管理效率提升-王晓耕老师
  14. rbd feature
  15. 华硕笔记本FH5900VQ 如何利用Winflash更新BIOS
  16. 特种浓缩分离:倒极电渗析技术工作原理
  17. 计算机安装win10配置,win11发布了,那么安装win11配置要求是什么?win11配置要求详解...
  18. 数据分析之Quick bi
  19. 基于jQuery的TreeGrid组件
  20. YOLOV4垃圾检测召回率提升

热门文章

  1. html 父模板,详解vue父子模版嵌套案例
  2. Spring Boot+Vaadin 14项目初始化
  3. ipad服务器未响应怎么办,ipad平板连接Win7系统电脑半天没反应如何解决
  4. java jdbc标签jsp_JDBC结合JSP使用(1)
  5. 贝叶斯数据分析_科研进阶项目 | 剑桥大学 | 心理学、社会学、生物医学:统计数据分析(6.13开课)...
  6. 名片夹android布局代码,Android自定义布局实现仿qq侧滑部分代码
  7. c mysql 并发处理_mysql队列中实现并发读的实现方法解析
  8. jquery清除所有cookie
  9. 大学计算机学情分析,大学生学情分析
  10. android 调用 asp.net web api,从 .NET 客户端调用 Web API (C#)