首先,我应该提到我是 Java 的绝对初学者。 12年前,我在学校里接触过它一点点。从那以后就再也没碰过它。抱歉,如果这个问题听起来有点基础。
我们需要修改客户端在 Java 1.5 上运行的 Web 服务。是的,这是一个非常旧的 java 版本,是的,在进一步通知之前,我们一直坚持使用它。这不是我们的决定...
我需要从 Postgre 表中读取数据。该表具有自动增量ID、车辆ID、数据类型ID、时间戳和包含表示值的bytea的data_value字段。每种数据类型都有不同的数据结构。
例如,数据类型 1 是油温,并且只有一个值:温度。数据以2个字节表示,是温度*10华氏度。
数据类型 2 可以是 GPS 坐标,并以 20 个字节表示。它有多个值,其中字节 1-4 表示纬度,字节 5-8 表示经度,9-10 表示高度,11 表示卫星数量等。
Web 服务使用 org.springframework.jdbc.support.rowset.SqlRowSet 从其他表中读取数据。问题是,至少在 1.5 中,SqlRowSet 类无法读取字节数组/blob。我可以读取整数、 double 、字符串、 boolean 值、对象,甚至字节,但不能读取字节数组。
有没有办法将 SqlRowSet 转换为另一种类型的记录集/行集,让我读取字节数组?或者还有另一种我不知道的方法吗?
我可以尝试展示我们拥有的一些代码,但我不知道你们需要看到什么,如果您需要更多信息,请告诉我!
谢谢,
最佳答案
你不能使用下面这样的东西吗?
Blob obj = (Blob) rowSet.getObject("columnLabel");
关于java - 在 java (1.5) 中从数据库读取 bytea (blob...) 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47203783/