当深入使用数据库时,如在数据库存图片,视频时或者取图片,视频时,就会陷入思考在java中没有与之相对应的数据格式,在java.sql中有与之相关的处理接口,java.sql是用与处理java编程语言访问或处理存储在数据库的数据的api包,说简单点就是有访问和处理数据库中相应数据的接口包,有相关的数据类型,想明白点要处理数据得知道它是啥类型吧
在java.sql中有几种与之相对的接口
Array 接口-SQL映射 ARRAY
Blob 接口-SQL映射 BLOB
Clob 接口-SQL映射 CLOB
Date 类-SQL映射 DATE
NClob 接口-SQL映射 NCLOB
Ref 接口-SQL映射 REF
RowId 接口-SQL映射 ROWID
Struct 接口-SQL映射 STRUCT
SQLXML 接口-SQL映射 XML
Time 类-SQL映射 TIME
Timestamp 类-SQL映射 TIMESTAMP
Types 类-提供SQL类型的常量
Array 接口,提供了将SQL ARRAY值的数据作为数组或ResultSet对象带到客户端的方法
这个不是过
SQLBLOB是一种内置类型,它将二进制大对象作为列值存储在数据库表的一行中,该Blob接口提供了获取SQL BLOB(二进制大对象)值的长度,BLOB在客户端上实现值以及确定BLOB值中字节模式的位置的方法
这个就是了,图片,视频等多媒体数据是以二进制的形式存放的
SQLCLOB是一种内置类型,它将字符大对象作为列值存储在数据库表的一行中。
Clob接口提供了用于获取SQL CLOB(字符大对象)值的长度,CLOB在客户端上具体化值以及CLOB在CLOB值内搜索子字符串或对象的方法 。
SQLNCLOB是一种内置类型,它使用国家字符集作为数据库表行中的列值来存储字符大对象。该接口提供了获取SQLNCLOB值的长度,NCLOB在客户端上NCLOB实例化NCLOB值以及在值内搜索子字符串或对象的方法
Ref 接口,对SQL REF值的映射,它是对数据库中SQL结构化类型值的引用
SQL ROWID是内置类型,其值可以认为是其在数据库表中标识的行的地址。该地址是逻辑地址还是物理地址,均由其原始数据源确定。
Struct 接口,一个Struct对象包含一个它代表的SQL结构化类型的每个属性的值。默认情况下,Struct只要应用程序对其具有引用,的实例就有效。
SQLXML 接口,XML是一种内置类型,它将XML值作为列值存储在数据库表行中,驱动程序将 SQLXML 对象实现为 XML 数据的逻辑指针,而不是数据本身
从上面可以知道存放图片或者视频等多媒体数据用的就是blob
SerialBlob类提供一个Blob对象创建实例的构造函数。请注意,在SerialBlob从对象构造对象之前,Blob对象应该已将SQL BLOB值的数据传递给客户端。可以在客户端上将SQL BLOB值的数据具体化为字节数组(使用方法Blob.getBytes)或未解释字节流
对应就是java拿到的就是byte[]