文件转为二进制流保存在数据库

数据库在存储数据时,有两种格式,一种是以字节存储的,二进制数据。

另一种是以字符形式存储的。

数据库要存储二进制数据,其数据库的列的属性必须是二进制类型的,如MySQL中,类型为BINARY和VARBNARY的列以二进制形式存储数据。

因为二进制一般都是字节数组,所以,要使用动态的SQL语句,要执行动态的SQL语句,必须使用PerparedStatement,

它的setBytes方法给未确定部分赋字节数组值。然后调用executeUpdate方法遍完成二进制数据的写入。同样道理,要从数据库中读取二进制数据的时候,

遍历结果集调用ResultSet的getBytes方法。获得字节数组(也就是二进制数组)。

二进制数组一般存储比较大的数据,如图片,影视文件。

如果数据库列属性是Blob的,获得结果集后调用ResultSet的getBlob方法,获得Blob数据,一个java.sql.Blob对象。Blob类的getBinaryStream方法获得Blob数据的字节输入流。便可以读取Blob数据。

猜你喜欢

转载自blog.csdn.net/qq_41885871/article/details/83343453