MySql中Blob二进制对象的处理

BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。

可以用于存储图片等信息

Demo1:存储图片

 1        String sql="INSERT INTO TestBlob(NAME,headImagfe) VALUES (?,?)";         conn=JdbcUtil.getConnection();
 2             pstmt=conn.prepareStatement(sql);
 3             pstmt.setString(1,"mm");
 4
 5             //mysql实现了所有方法,但有些方法执行无法通过,没有真正的实现
 6             //pstmt.setBlob(parameterIndex, inputStream, length)
 7
 8             InputStream is=new FileInputStream("D:\\a.jpg");//输入流
 9
10             pstmt.setBinaryStream(2, is, is.available());//加入到sql语句中
11
12             pstmt.executeUpdate();//执行

Demo2:获取图片

 1 String sql="select * from TestBlob where id=1";
 2 Blob blob= rs.getBlob("headImagfe");
 3                 InputStream is=blob.getBinaryStream();//输入流
 4                 String path="D:\\b.jpg";
 5                 OutputStream out=new FileOutputStream(path);//输出流
 6                 int len=-1;
 7                 byte[] buffer=new byte[1024];
 8                 while ((len=(is.read(buffer)))>0) {//循环输出
 9                     out.write(buffer,0,len);
10                 }
11                 out.close();
12                 is.close();
时间: 2024-08-05 19:32:14

MySql中Blob二进制对象的处理的相关文章

BLOB二进制对象(blob.c/h)

BLOB二进制对象(blob.c/h) 数据结构 struct blob_attr { uint32_t id_len; /** 高1位为extend标志,高7位存储id, * 低24位存储data的内存大小 */ char data[]; } __packed; struct blob_attr_info { unsigned int type; unsigned int minlen; unsigned int maxlen; bool (*validate)(const struct bl

在MySQL中保存Java对象

需要在MySQL中保存Java对象. 说明: 对象必须实现序列化 MySQL中对应字段设置为blob 将Java对象序列化为byte[] public static byte[] obj2byte(Object obj) throws Exception { byte[] ret = null; ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputSt

很奇怪这个var变量一定要放在事件里面。 mysql中BLOB字段内容如何查看。

很奇怪这个var变量一定要放在事件里面. mysql中BLOB字段内容如何查看. sessionStorage在项目中的应用 initAutoComplate 原文地址:https://www.cnblogs.com/wzdnwyyu/p/11169121.html

使用SSH操作Oracle中BLOB大对象

package entity; /** * Bigobject entity. @author MyEclipse Persistence Tools */ public class Bigobject implements java.io.Serializable { // Fields private Integer id; private byte[] tblob; private String filename; // Constructors /** default construct

MySql中Blob与Text的区别

BLOB是一个二进制大对象,可以容纳可变数量的数据.有4种BLOB类型:TINYBLOB.BLOB.MEDIUMBLOB和LONGBLOB.它们只是可容纳值的最大长度不同. 有4种TEXT类型:TINYTEXT.TEXT.MEDIUMTEXT和LONGTEXT.这些对应4种BLOB类型,有相同的最大长度和存储需求. BLOB 列被视为二进制字符串(字节字符串).TEXT列被视为非二进制字符串(字符字符串). BLOB列没有字符集,并且排序和比较基于列值字节的数值值.TEXT列有一个字符集,并且根

MySQL中blob 与 text

BLOB是一个二进制大对象,可以容纳可变数量的数据.有4种BLOB类型:TINYBLOB.BLOB.MEDIUMBLOB和LONGBLOB.它们只是可容纳值的最大长度不同. 有4种TEXT类型:TINYTEXT.TEXT.MEDIUMTEXT和LONGTEXT.这些对应4种BLOB类型,有相同的最大长度和存储需求. BLOB 列被视为二进制字符串(字节字符串).TEXT列被视为非二进制字符串(字符字符串).BLOB列没有字符集,并且排序和比较基于列值字节的数值值.TEXT列有一个字符集,并且根据

JDBC10 Blob二进制对象

//将图片输入到数据库中 // String sql="insert into t_user2 (username,headImg) values (?,?)"; // ps=conn.prepareStatement(sql); // ps.setObject(1, 2); // ps.setBlob(2, new FileInputStream("d:/img.png")); // ps.execute(); //读取图片到程序中再转出去 String sql=

PHP操作Mysql中的BLOB字段

1.MySQL中BLOB字段类型 BLOB类型的字段用于存储二进制数据. MySQL中,BLOB是个类型系列,包括:TinyBlob.Blob.MediumBlob.LongBlob,这几个类型之间的唯一区别是在存储文件的最大大小上不同. MySQL的四种BLOB类型 TinyBlob:  最大 255字节 Blob:      最大 65K MediumBlob:最大 16M LongBlob:  最大 4G 注意:如果你存储的文件过大,数据库的性能会下降很多. 2.PHP操作BLOB案例 [

MySQL 中Redo与Binlog顺序一致性问题 【转】

首先,我们知道在MySQL中,二进制日志是server层的,主要用来做主从复制和即时点恢复时使用的.而事务日志(redo log)是InnoDB存储引擎层的,用来保证事务安全的.现在我们来讨论一下MySQL主从复制过程中的一些细节问题,有关于主从复制可以看具体的章节. 在了解了以上基础的内容后,我们可以带着以下的几个问题去学习复制到底是怎样工作的. 为什么MySQL有binlog,还有redo log? 事务是如何提交的?事务提交先写binlog还是redo log?如何保证这两部分的日志做到顺