Надеюсь, вы сохраняете изображение в таблице как тип BLOB (если не пытаетесь сделать это, так как это лучший метод). Предположим, у вас есть класс Person
с image
человека, хранящегося в БД. Если вы хотите отобразить это, просто добавьте свойство в вашем лице POJO, которое содержит изображение.
@Column(name="image")
@Blob
private Blob image;
Когда вы отобразите его, конвертируйте его в byte[]
и покажите.
private byte[] toByteArray(Blob fromImageBlob) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
return toByteArrayImpl(fromImageBlob, baos);
} catch (Exception e) {
}
return null;
}
private byte[] toByteArrayImpl(Blob fromImageBlob,
ByteArrayOutputStream baos) throws SQLException, IOException {
byte buf[] = new byte[4000];
int dataSize;
InputStream is = fromImageBlob.getBinaryStream();
try {
while((dataSize = is.read(buf)) != -1) {
baos.write(buf, 0, dataSize);
}
} finally {
if(is != null) {
is.close();
}
}
return baos.toByteArray();
}
Вы можете увидеть следующие примеры, чтобы узнать больше об этом.
- http://i -proving.com / 2006/08/23 / блобовым-и-спящий режим
- http://snehaprashant.blogspot.com/2008/08/how-to-store-and-retrieve-blob-object.html
- http://viralpatel.net/blogs/2011/01/tutorial-save-get-blob-object-spring-3-mvc-hibernate.html
Как вы можете видеть, есть несколько способов сделать это. Выберите подходящий для вас.