2022. 5. 17. 11:30ㆍJava/Spring
저번에는 JPA가 아니라 MyBatis로 연동을 하였는데, 이번에는 JPA를 사용해서 데이터베이스 연결을 하도록 하겠습니다. (쉬움)
일단 Spring Initializr를 이용해서 프로젝트를 생성해 줍니다.
사이트에 들어가서 위 사진과 같이 세팅을 하고 아래에 GENERATE 버튼을 눌러서 프로젝트를 다운로드합니다.
IntelliJ 혹은 Eclipse를 이용해서 다운로드한 프로젝트를 열어줍니다. (저는 개인적으로 인텔리제이를 사용합니다.)
프로젝트를 열게 되면 색인 생성 및 빌드를 하는데, 약 1분에서 2분 정도 기다려주면 끝납니다.
이제 기본적인 세팅을 하겠습니다.
src/main/resources 폴더 안에 application.properties 리소스 번들 파일을 열어줍니다.
열면 아무 코드도 없는 것을 확인할 수 있는데, 아래 코드를 추가하도록 하겠습니다.
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=1234
spring.datasource.url=jdbc:mysql://localhost:3306/board
spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true
ddl-auto는 JPA로 DB를 초기화하는 전략을 만들 때 사용합니다.
옵션으로는 none, create, update, validate, create-drop이 있습니다.
- none: 아무 일도 안 일어남 (초기값)
- create: 애플리케이션이 실행될 때만 drop 하고 다시 create 함
- update: 변경된 스키마만 적용
- validate: 변경된 스키마가 있는지 확인만 함, 변경이 있을 시 애플리케이션 종료
- create-drop: create와 비슷하지만 애플리케이션 종료 시에 drop 함
이제 데이터베이스가 연결이 되어있는지 확인을 해보겠습니다.
src/main/java/com.example.board패키지 안에다가 User 클래스를 생성하겠습니다.
User 클래스 코드는 아래와 같이 짜도록 하겠습니다.
package com.example.board;
import lombok.Getter;
import javax.persistence.*;
@Entity
@Getter
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String name;
}
@Entity는 아래에 정의된 필드들을 바탕으로 데이터베이스를 만들어주는 어노테이션입니다.
@Id는 Primary key와 똑같은 의미를 가진 어노테이션입니다.
@GeneratedValue는 이 Primary key가 자동으로 1씩 증가하는 형태로 생성할지 등을 결정하는 어노테이션입니다.
이제 한번 애플리케이션을 실행해보도록 하겠습니다.
실행 시에 아래와 같은 로그가 보이면 데이터베이스와 연결이 잘 되었다는 뜻입니다.
MySQL에도 잘 들어간 것을 볼 수 있습니다.
이렇게 하면 데이터베이스 연결은 끝이 납니다.
확실히 MyBatis를 사용해서 연결하는 것보다는 훨씬 쉽다는 것을 확인할 수 있습니다.
'Java > Spring' 카테고리의 다른 글
Spring boot를 이용한 게시판 만들기 - 등록, 수정, 조회 API 만들기(3) (1) | 2022.06.06 |
---|---|
Spring boot를 이용한 게시판 만들기 - 유저, 게시물 엔티티 및 리포지토리 만들기(2) (2) | 2022.05.25 |
Spring boot에서 Controller가 먹지 않는 에러 (0) | 2022.03.24 |
Spring boot 엔티티 매핑 (0) | 2022.03.21 |
Spring boot를 이용한 게시판 구현하기 - 데이터베이스 연결하기(1) (0) | 2022.03.10 |