我想提供两个 API 函数来将文件存储在数据库中 - 一个接受 a byte[]
(或 an InputStream
),另一个接受String
. 我想知道如何实现这样的 API。
我看到以下选项:
- 定义两个字段 - 一个用于二进制文件的 BLOB 和另一个用于文本文件的 CLOB。然后我可以将
PreparedStatement.setBytes
(或PreparedStatement.setBinaryStream
)用于 BLOB 和PreparedStatement.setString
CLOB。我不喜欢有两个领域。 - 用于
String.getBytes()
将给定转换String
为byte[]
,从而回到二进制大小写。我不喜欢将 a 转换String
为byte[]
.
我想知道是否有不需要两个字段并避免额外字节缓冲区的解决方案。