考虑大对象:利用 JAVA 操作 DB2 Universal Database 中的 LOB 数据
本文通过一个真实的例子,展示了如何在您的 Java 开发过程中使用 DB2 Universal Database 大型对象数据类型。
诸如图像和音频这样的大型数据对象经常需要存储在数据库中。DB2 Universal Database 为存储大型数据对象提供了专门的数据类型。这些数据类型被称为大型对象(LOB)。在本文中,我们将在 LOB 的世界里遨游。更具体地说,我们将从 Java 程序开发者的角度来研究 LOB。您将看到如何在 Java 应用程序中存储以及检索 LOB。
将您学到的东西应用到一个真实世界的例子总是有益的。因此,在本文中,我们将模拟一家书店。我们希望能够为网站访问者提供一种检索书的封面图像的方法。之后,您将看到我们怎样将书的封面图像存储为 BLOB。此外,我们还希望将书的摘要以 CLOB 数据类型存储在数据库中以便通过关键字来搜索。下面的图将使您了解在本文中我们将要完成的工作流。
图 1
DB2 提供了三种不同的大型对象数据类型。所有这些数据类型都能存储最多达 2GB 的数据:CLOB (Character Large Object)- 能包含最多达 2GB 的字符数据。
BLOB (Binary Large Object) - 能包含最多达 2GB 的二进制数据。这里的二进制数据实质上可以是任何东西(例如图像,音频文件,等等)。
DBCLOB (Double-Byte Character Large Object) - 能包含最多达 2GB 的双字节字符数据。请注意只有当您所创建的数据库支持双字节数据时,才能使用这种数据类型。
这些数据类型均属于 SQL3 数据类型。正如您将在本文后面看到的,JDBC 2.0 支持这些数据类型。