一个简单的Blob存取例子
- import java.io.*;
- import java.sql.*;
- /**
- * 测试操作blob数据
- */
- public class BlobTest {
- Connection con = null;
- private static String filepath = "d:/test/smile.jpg";
- private static String fileoutpath = "d:/test/smilecopy.jpg";
- /**
- * 往数据库中添加BLOB数据
- */
- public void addBlob() {
- try {
- // 创建一个PreparedStatement实例
- PreparedStatement pstmt = con
- .prepareStatement("insert into blobtest values(1,?)");
- File file = new File(filepath);
- FileInputStream fis = new FileInputStream(file);
- // 把输入流设置为预处理语句的对象。
- pstmt.setBinaryStream(1, fis, (int) file.length());
- // 执行更新
- pstmt.executeUpdate();
- pstmt.close();
- fis.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * 创建一个表
- */
- public void createTable() {
- try {
- con.createStatement().execute(
- "create table blobtest (id int ,pic blob,"
- + "constraint pk_blobtest primary key(id));");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * 从数据库中读取BLOB数据
- */
- public void getBlob() {
- try {
- // 创建一个Statement实例
- Statement stmt = con.createStatement();
- ResultSet rst = stmt
- .executeQuery("select * from blobtest where id=1");
- rst.next();
- // 获得blob数据和它的输入流,然后通过输入流把数据写到文件中。
- Blob blob = rst.getBlob("pic");
- FileOutputStream out = new FileOutputStream(new File(
- fileoutpath));
- InputStream in = blob.getBinaryStream();
- int i;
- while ((i = in.read()) != -1)
- out.write(i);
- // 关闭输入、输出流.
- in.close();
- out.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) throws Exception {
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- BlobTest test = new BlobTest();
- test.con = java.sql.DriverManager.getConnection(
- "jdbc:mysql://localhost:3306/test", "root", "123456");
- test.createTable();
- test.addBlob();
- test.getBlob();
- }
- }
MySQL有四种BLOB类型:
·tinyblob:仅255个字符
·blob:最大限制到65K字节
·mediumblob:限制到16M字节
·longblob:可达4GB
一个简单的Blob存取例子相关推荐
- 一个简单的epoll测试例子
一个简单的epoll测试例子 一段简单的epoll测试例子,编译运行后可以直接用浏览器访问localhost来测试. 1 #include <unistd.h> 2 #include &l ...
- 一个简单的三层架构例子(.NET入门)
最近开始学习.NET 用的是c# 目前要用三层架构的模式开发一个简单的图书管理系统,不过以为刚接触这门技术.做起来分外吃力,甚至连究竟要写些什么都不清楚. 于是乎上网到处找寻三层架构的基础入门知识,终 ...
- 一个简单的iBatis入门例子
一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. ibatis-2.3.4.726.jar ojdbc14.jar 2.创建类com/ ...
- linux下glew例子,一个简单的GLSL Shader例子
本例子选自OpenGL Shading Language中的第一个Shader例子,使用颜色平滑地表示一个表面的温度.温度及其颜色的范围在应用程序中进行设置. //先看顶点着色器temp.vert: ...
- 一个简单的规则引擎例子
本例使用的规则引擎包是RulesEngine,关于RulesEngine的介绍,请自行补充,这里只是一个极简单使用场景. 例子大体就是用户有一些优惠券,系统会根据用户订单情况,筛选可以使用的优惠券供用 ...
- 一个简单的马尔可夫过程例子
什么是马尔可夫过程(Markov Process) 要说什么是马尔可夫过程,首先必须讲讲什么是随机过程(Stochastic Process). 設 (Ω,,P) (\Omega, \mathcal ...
- 如何写一个简单java接口的例子(内容详细,适合初学者)
这里说一个简单的java接口的小例子(一个接口类,两个实现类) 先新建一个动态web工程: 我的项目目录是这样子的(接口写完之后目录) 先在test0609_test1包下new 一个interfac ...
- matlab 马尔可夫过程 实例,一个简单的马尔可夫过程例子
什么是马尔可夫过程(Markov Process) 要说什么是马尔可夫过程,首先必须讲讲什么是随机过程(Stochastic Process). 設(Ω,,P)為一概率空間,另設集合T為一指標集合. ...
- 一个简单的DWR入门例子
http://di201yao.iteye.com/blog/164095 什么是DWR? DWR是一个Open Source的 java项目.DWR可以让JavaScript调用运行在Web ...
最新文章
- 今天没有浪费时间,我努力了
- 一文看懂5G芯片背后的明争暗斗
- linux性能优化实战-内存性能指标
- Javascript中的陷阱大集合【译】
- 微型计算机中数据总线既可以传输数据信息,计算机考试题库精简版
- PowerBI随笔(6)-filter、caculate、RELATED相关
- VTK:几何对象之OpenVRCube
- python怎么运行_程序员大牛讲解,Python程序的执行原理
- 深入剖析Redis事件驱动
- 在写易买网时产生的错误 JSTL标签库中c:choose/c:choose不能放JSP页面!-- --注释...
- [LeetCode] 350. 两个数组的交集 II intersection-of-two-arrays-ii(排序)
- PIC单片机的C语言程序基本框架,PIC单片机的基本编程汇总,初学者必看
- PTA 基础编程题目集 7-15 计算圆周率 C语言
- unity物理引擎详解
- Matlab绘制柱状图, 设置figure的最大最小值
- 顶级赛事 | 2019 CCF BDCI,最值得参与的国际大数据及AI赛事之一
- 018-双因素理论|如何管理80后,90后
- 知乎大V推荐!如何在面试中通过工厂模式来给自己加分?圆我大厂梦!
- C3 linearization
- 邓俊辉《数据结构》-列表学习笔记
热门文章
- Solving environment: failed conda all InvalidVersionSpecError: Invalid version spec: =2.7报错
- 跨境电商erp有哪些功能?跨境erp是跨境电商卖家必备么?
- 广告系统中的Exploitation and Exploration(一)
- Leetcode每日一题:107.binary-tree-level-order-traversal-ii(二叉树的层次遍历)
- Java操作Json工具——Jackson
- 西瓜书+实战+吴恩达机器学习(十四)无监督学习之聚类(k-means, LVQ, 高斯混合聚类, DBSCAN, AGNES)
- 线性代数基础(矩阵、范数、正交、特征值分解、奇异值分解、迹运算)
- 使用mcisendstring重复播放音乐文件
- c++ opencv mat_实战 | OpenCV 实现多张图像拼接
- android ctrl 左键鼠标左键直接打开xml文件夹,android – 在listview项目上单击打开xml文件...