개발은 하는건가..

[Java] DB 에서 BLOB (바이너리 데이터) 읽어오기 본문

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;

 

Comments