zoukankan      html  css  js  c++  java
  • 数据库之二进制数据

    在使用数据库的时候大多数情况下数值型、字符型和日期类型的变量存储就已经满足了我们很多的需求。但是在某些时候,我们还需要一种类型来存储数据,那就是二进制的数据了。如果需要存储文件,图片或者视频之类的只能使用二进制的数据来存储的东西时,我们就需要知道怎么样来操作数据库中的二进制数据了。

           在很多各种数据库中的二进制处理方式不同,数据类型也就不一样,微软的sqlserver中二进制数据类型可以使用IMAGE类型,IMAGE类型可以存放最大 2G的二进制数据,应该可以满足绝大多数的需求了。在mysql数据库中二进制数据使用blob对象,对于存储空间的大小可以选择4种类型的blob对象。在Oracle数据库中RowId对象可以存储10个字节的二进制数据,Blob对象可以存储最大4G的数据,这些就足够了。

           那么怎么样使用JDBC在数据库中存储二进制数据呢?答案就是使用流来处理。在JDBC中,使用输入流来读取一个数据,然后将流中的数据存储为一个byte[] 类型的字节数组,也就是存储为一个二进制的对象。当然如果使用PrepareStatement接口,那就很方便了,可以使用预编译的设置参数方式直接将输入流设置为存储参数,方法是setBinaryStream(int parameterIndex, InputStream x, int length)。这样就可以将二进制的数据存储到数据库中了。

        读取数据库中的二进制数据很简单,就是使用ResultSet结果集中的getBinaryStream()方法就可以从数据库中读取出二进制的数据了。

        对于JDBC还有一中存储二进制数据的方法,Blob对象提供可以操作二进制数据的接口,用来对二进制数据操作是很方便的。

  • 相关阅读:
    QQ空间鼠标代码
    QQ空间Flash
    QQ播放器代码
    QQ空间鼠标代码
    QQ空间Flash
    QQ空间Flash
    第二届“携进杯”师生羽毛球联谊赛
    DataView对象
    数据控件DataGrid数据控件
    数据控件Repeater数据控件
  • 原文地址:https://www.cnblogs.com/shanmu/p/2145320.html
Copyright © 2011-2022 走看看