개발/부트캠프

본캠프 : Spring 숙련_특강_JPA를 활용한 프로젝트 / 전반적인 작업 과정

EJ EJ 2025. 2. 7. 20:53

💡JPA를 활용한 프로젝트! 전반적인 작업 과정!

 

<프로젝트 준비>

 

1. 프로젝트 생성(Spring Boot)

  • Create Git repository
  • Java
  • Gradle-Groovy
  • JDK : 17.xx.xx
  • Java : 17
  • Jar

2. 의존성(Dependency) 추가

*Spring Boot 3.x.x 버전

  • Spring Web
  • Lombok
  • MySQL Driver
  • Spring Data JPA
  • (H2 Database)

3. 편의 기능 설정

*macOS: command + ,

*Windows: Ctrl + Alt + S

  • Auto Import
  • Editor Zoom : Mouse Wheel
  • Lombok

4. build.gradle 확인

  • spring-boot-starter-data-jpa : Spring Data JPA 의존성
  • spring-boot-starter-web : Spring Web 관련 의존성
  • org.projectlombok:lombok : Lombok 의존성
  • com.mysql:mysql-connector-j : MySQL 연결

5. Intellij Database 연동

  • Database 탭 클릭 후 + 버튼
  • Data Source > MySQL
  • User, Password 정보 추가 후 Test Connection 클릭
  • Test Connection 성공 시 OK
  • 생성된 DataSource 우클릭 → New → Schema
  • Name 설정 후 Schema 생성 OK
  • 생성 완료 후 새로고침

6. JPA 관련 설정하기(application.properties)

▶ DataSource 설정

spring.datasource.url=jdbc:mysql://localhost:3306/Schema명(수정)
spring.datasource.username=계정(수정)

spring.datasource.password=비밀번호(수정)
spring.datasource.driver-class-name=cohttp://m.mysql.cj.jdbc.Driver

 

▶ Hibernate 설정

spring.jpa.hibernate.ddl-auto=create

spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.use_sql_comments=true

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect

 

<설계>

1. Package 생성, 구조 잡기

  • controller
  • dto
  • entity
  • repository
  • service

2. Entity 클래스 생성

  • @Getter
  • @Entity
  • @NoArgsConstructor
  • @Id
  • @GeneratatedValue(strategy = GenerationType.IDENTITY)
  • update 메서드(9번 CRUD 구현 시 작성)

   *필드 작성 ex) private Long id;  /  private String name;

   *생성자 작성 : id는 DB에서 자동으로 생성해 주는 값이므로, id를 제외한 필드 중 원하는 필드를 선택해서 ‘생성자’ 만들기

 

3. Dto 클래스 생성

  • @Getter
  • RequestDto(final&생성자, id 불필요 : only 필드만 )
  • ResponseDto(final&생성자, id 필요)

4. Repository 클래스 생성

  • interface로 생성, JpaRepository 상속

5. Service 클래스 생성

  • @Service
  • @RequiredArgsConstructor
  • 의존성 주입 : Repository repository (final)

6. Controller 클래스 생성

  • @RestController
  • @RequiredArgsConstructor
  • 의존성 주입 : Service  service (final)

7. CRUD 개발(Top-Down 방식 추천)

  • Controller(POST, GET, PUT, PATCH, DELETE)
  • Service(@Transactional)

 

마무리는 Postman으로 테스트 진행 :)

끝!

'개발 > 부트캠프' 카테고리의 다른 글

본캠프 : 특강  (0) 2025.02.11
본캠프 : 특강_협업 관점에서의 Git  (0) 2025.02.10
본캠프 : Spring 숙련_3주차 실습  (0) 2025.02.06
본캠프 : Spring 숙련_2주차  (0) 2025.02.05
본캠프 : Spring 숙련_1주차  (1) 2025.02.04