Store and retrieve images
common requirement of many project
많은 프로젝트에서 요구되는 기능인데 크게 두 가지 방법이 있다.
disc approach 와 database approach 이다.
Disc approach
save real images on disc
실제 이미지 파일을 데이터베이스가 아니라 디스크에 저장하고
keep data reference in DB
파일 path 와 같은 메타데이터 정보를 데이터베이스에 저장한다.
good in big size of images
큰 데이터 파일이면 유리하다.
better performance
속도가 빠르다.
multi database can share
이미지 파일을 특정 데이터베이스에 저장하는게 아니라서 데이터베이스가 여러 개면 이미지 파일을 공유할 수 있는 장점이 있다.
Database approach
save real images in database
실제 이미지를 데이터베이스에 바이트 데이터로 저장하는 방법
image size is small
파일 사이즈 크면 부담이 되니 작게
BLOB column in database
데이터베이스 칼럼은 Binary large object로 정의함
setBinaryStream()
자바에서는 setBinaryStream 메소드를 통해서 이미지를 데이터베이스에 저장하고
이미지를 가져올 경우 java.sql에 있는 BLOB타입으로 가져오면 된다.
데이터베이스에 이미지 저장하기
데이터베이스에서 이미지 가져오기
BLOB 형식으로 데이터베이스에서 가져온 다음 바이트 어레이 형식으로 변환하고 ouputstream에서 바이트 어레이 데이터를 넣어서 이미지를 생성한다.
정리
Disc apporach | Database approach |
save images on disc | save images in database |
Image size is not small | Image size is small |
setString(FILE_PATH) | setBinaryStream( ) |
much faster | slow performance |
multiple database share | only one database uses |
'컴퓨터공학 > Java' 카테고리의 다른 글
CS> 기술 면접 대비 기초 지식 모음 2 (0) | 2021.07.21 |
---|---|
CS> 기술 면접 대비 기초 지식 모음 1 (0) | 2021.07.16 |
CS> JDBC connection 단계 (0) | 2021.07.05 |
CS> RMI 아키텍쳐 기본 원리 (0) | 2021.07.05 |
CS> Statement에 대해서 PreparedStatement 의 이점은? (0) | 2021.07.05 |