사랑하애오
article thumbnail
[VSCODE] SpringBoot CRUD게시판 만들기 - 레포지토리(Repository)
JAVA/SpringBoot CRUD Board 2022. 7. 1. 10:57

리포지터리 엔티티만으로는 데이터베이스에 데이터를 저장하거나 조회 할 수 없다. 데이터 처리를 위해서는 실제 데이터베이스와 연동하는 JPA 리포지터리가 필요하다. 리포지터리란? 리포지터리는 엔티티에 의해 생성된 데이터베이스 테이블에 접근하는 메소드들(예: findAll, save 등)을 사용하기 위한 인터페이스이다. 데이터 처리를 위해서는 테이블에 어떤 값을 넣거나 값을 조회하는 등의 CRUD(Create, Read, Update, Delete)가 필요하다. 이 때 이러한 CRUD를 어떻게 처리할지 정의하는 계층이 바로 리포지터리이다. 다음과 같이 QuestionRepository 인터페이스를 생성하자. [파일명:/sbb/src/main/java/com/mysite/sbb/QuestionRepository..

article thumbnail
[VSCODE] SpringBoot CRUD게시판 만들기 - 프로젝트의 구조
JAVA/SpringBoot CRUD Board 2022. 6. 30. 13:33

현재 SBB 프로젝트는 HelloController.java와 HelloLombok.java 파일만 생성한 상태다. 그런데 이보다 규모를 갖춘 프로젝트를 만들고자 한다면 프로젝트 구조를 잘 이해해야 한다. 이번 장에서는 스프링부트 프로젝트의 구조와 파일들에 대해서 알아보자. 스프링부트 프로젝트의 전체 구조는 다음과 같다. src/main/java 디렉터리 src/main/java 디렉터리의 com.mysite.sbb 패키지는 자바 파일을 작성하는 공간이다. 자바 파일로는 HelloController와 같은 스프링부트의 컨트롤러, 폼과 DTO, 데이터 베이스 처리를 위한 엔티티, 서비스 파일등이 있다. SbbApplication.java 파일 모든 프로그램에는 시작을 담당하는 파일이 있다. 스프링부트 애플..

article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) 상품 등록하기 - Controller, Service, Repository, Test
JAVA/SpringBoot Shoppingmall 2022. 6. 27. 14:29

상품 등록 로직 1. application.properties 설정 추가 파일 크기 및 경로 지정 (경로는 프로젝트 외부 디렉토리에 저장함) 2. WebMvcConfigurer 인터페이스 addResourceHandlers 메소드를 오버라이딩하여 파일 업로드 경로 지정 "${uploadPath}" - application.properties 에 설정한 "uploadPath" 프로퍼티 값 " /images/** " 패턴의 URL 은 uploadPath 폴더를 기준으로 탐색 3. 상품 이미지 파일 (File)Service 이미지 파일 저장 로직을 담당할 Service 객체 파일 저장은 DB 에 저장되는 것이 아니기 때문에 Repository 필요 없음 (FileOutputStream 가 대신함) 이미지 파일..