일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 분산시스템
- nginx
- 토스책
- Mysql이미지
- 스프링 이미지
- nestjs
- 스프링기초
- 대규모 트래픽
- nestjs 예외
- Jenkins
- 예외필터
- 스프링
- JavaScript
- 자바
- 예외 커스텀
- 트러블슈팅
- 스프링Entity
- 예외 핸들링
- connection reset by peer
- 동시성 문제
- docker
- 3WayHandshake
- 토스팀
- 스프링오류
- 유난한 도전
- 스프링jpa
- OS
- 동시성 제어
- nodejs
- 동시성문제
- Today
- Total
삽질블로그
[Android] 자바 스프링으로 이미지 Mysql에 전송 및 저장하기 (2) 본문
저번 글에선 안드로이드에서 이미지를 비트맵으로 변환 후 바이트스트링값으로 스프링에 전송하는 코드를 작성했다.
이번 글에선 스프링에서 이미지를 받아와서 mysql에 저장하는 코드를 작성하고자 한다.
application properties에 mysql에 접근하기 위한 코드를 작성해줬다.
spring.datasource.url=jdbc:mysql://localhost:3306/jojunhee?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul
spring.datasource.username=root
spring.datasource.password=00000000
UserProfileMapper.Interface
SQL 쿼리문을 호출하기 위해 @Mapper 어노테이션을 선언해준 후 다음 코드를 작성해줬다.
@param 어노테이션은 데이터베이스에 전달되는 각 변수를 구분할 수 있도록 하는데, 변수를 한 개만 전달할 때는 상관없다.
@Insert({"UPDATE profile SET Image=#{imageFile} WHERE email=#{email}"})
int insertImage(@Param("imageFile") String imageFile);
UserProfileController.class
클래스에서 @RestController를 선언해준 후 다음 코드를 작성해줬다.
@RequestParam어노테이션은 파라미터명을 변경해준다.
예를들어 밑에 코드가 @RequestParam("image") String imageFile이면
/user/inserImage?image=~~~~로 imageFIle -> image로 변경이 가능하다.
@PostMapping("/user/insertImage")
public int insertImage(@RequestParam("imageFile") String imageFile) {
int result = mapper.insertImage(imageFile);
return result;
}
mysql안의 profile테이블이다.
image컬럼은 사진 데이터가 클 수도 있기 때문에 longblob으로 작성했다.
이렇게 작성하고 에뮬레이터로 프로필 사진을 등록하면 위 사진같이 데이터가 들어가는 것을 볼 수 있다.
하지만 이렇게 이미지를 등록하는건 너무 큰 사진 데이터를 통으로 데이터베이스에 저장해서 안좋은 코드인 것 같다.
다음에는 웹서버에 이미지를 업로드 하고 데이터베이스에는 그 경로를 저장하는 방식으로 이미지를 저장해봐야겠다.
'자바스프링' 카테고리의 다른 글
스프링 컴포넌트 스캔 @Conponent, @Controller, @Service, @Repository, Autowired 어노테이션 (0) | 2022.09.26 |
---|---|
회원관리 예제 Test코드 작성 (0) | 2022.09.25 |
스프링 회원관리 예제 (0) | 2022.09.25 |
스프링 기초 (0) | 2022.09.19 |
[Android] 자바 스프링으로 이미지 Mysql에 전송 및 저장하기 (1) (0) | 2022.09.16 |