Java, Android
[Java] DB 에서 BLOB (바이너리 데이터) 읽어오기
수동애비
2022. 3. 8. 13:46
반응형
DB 에 이미지 파일이나 바이너리 데이터가 저장된 경우 읽어오는 방법이다.
Connection conn = DriverManager.getConnection(url, id, pwd);
boolean result = false;
String sql = "SELECT binData,binDataSize FROM firmware WHERE pkey=?";
PreparedStatement psmt = conn.prepareStatement(sql);
psmt.setString(1, key);
ResultSet rs = psmt.executeQuery();
if (rs.next()) {
Blob blob = rs.getBlob("binData");
int binDataSize = rs.getInt("binDataSize");
byte[] binData = new byte[binDataSize];
InputStream inputStream = blob.getBinaryStream();
if (inputStream.read(binData) == binDataSize) {
result = true;
// binData 처리
}
else {
result = false;
binData = null;
}
inputStream.close();
}
rs.close();
psmt.close();
conn.close();
return result;