[JPA] 스프링 부트 JPA 기본 사용방법

2022. 8. 5. 00:51·노빠꾸 개발일지/JAVA
반응형

이번 피드에서는 스프링 부트 환경에서 JPA 기본 사용에 대해 간단히 정리해보겠습니다.

 

우선 스프링 부트에서 JPA를 사용하기 위해 세팅이 필요한데요.

Dependencies 에 Spring Web, Spring Data JPA를 추가해 주면 됩니다.

 

그리고, 프로젝트에서 사용할 다른 Dependencies들도 개인 프로젝트에 맞게 추가해 주면 됩니다.

 

1. application.properties 세팅

## 프로젝트 실행 시 자동으로 DDL 생성할 것인지 결정(update : 변경이 필요한 경우 alter, 테이블이 없는 경우 create)
spring.jpa.hibernate.ddl-auto=update
## Hibernate가 동작하면서 발생하는 SQL을 포맷팅하여 출력해줌
spring.jpa.properties.hibernate.format_sql=true 
## JPA처리시 발생하는 SQL을 보여줄 것인지 결정
spring.jpa.show-sql=true

 

2. entity 기본 구조

JPA를 사용하게되면 클래스파일이 데이터베이스의 테이블과 매칭이 되는데요. 

 

간단히 비교해서 예를 들어보면

 

- MEMO TABLE(T_MEMO)

SEQ MEMO
   
   

 

- Memo.java

@Entity
@Table(name = "t_memo")
public class Memo {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long seq;

    @Column(length = 200, nullable = false)
    private String memo;
    
}

 

T_MEMO테이블을 Memo 클래스 파일로 표현을 한것인데, 어노테이션의 의미를 살펴보면

 

@Entity

@Entity를 선언해 줌으로써 엔티티 클래스임을 표현하고, JPA로 관리되는 엔티티 객체라는 것을 알려줍니다.

 

@Table

@Table을 이용하여 어떤 테이블과 매칭이되는지 name값을 지정하여 사용합니다.

 

@Id

@Id 값은 테이블의 Primary Key값을 의미합니다.

 

@Column

@column값은 테이블의 컬럼을 의미합니다.

 

 

위와 같이 테이블을 세팅해주고, 이제 테이블에 CRUD작업을 해보면 되는데, 이때 JpaRepository를 상속받아 이용하면 된다.

public interface MemoRepository extends JpaRepository<Memo, Long> {
}

인터페이스 파일을 생성한 후, JpaRepository를 상속받아주면 되는데 여기서 <테이블의 클래스타입, @Id 타입> 을 입력해주면 된다.

 

이러면 모든 세팅이 끝이고 해당 인터페이스에 원하는 CRUD작업들을 추가해 주면 된다.

 

JpaRepository에서 제공하는 메서드들을 보면 아래와 같이 제공되는 메서드들을 이용하면 된다.

- insert : save();

- select : findById(), getOne()

- update : save();

 

이번 피드는 스프링 부트를 이용해서 간단히 JPA를 이용할 수 있을 정도의 피드이기 때문에 여기서 마무리 하겠습니다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'노빠꾸 개발일지 > JAVA' 카테고리의 다른 글

메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 2  (0) 2022.09.14
메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 1  (0) 2022.09.11
[JAVA] JSON 객체 사용법 정리(JsonObject, JsonArray) 데이터 파싱, 데이터 수정  (0) 2022.07.09
[JPA] JPA(Java Persistence API) 란?  (0) 2022.04.06
[Design Pattern] 싱글턴 패턴  (0) 2021.05.09
'노빠꾸 개발일지/JAVA' 카테고리의 다른 글
  • 메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 2
  • 메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 1
  • [JAVA] JSON 객체 사용법 정리(JsonObject, JsonArray) 데이터 파싱, 데이터 수정
  • [JPA] JPA(Java Persistence API) 란?
No Backing
No Backing
노빠꾸
    300x250
  • No Backing
    누릇한 노빠꾸 블로그
    No Backing
  • 전체
    오늘
    어제
    • 분류 전체보기 (144)
      • 노빠꾸 서버 (20)
        • AWS (0)
        • 설치관련 (7)
        • 명령어 정리 (2)
        • 서버 설정 (8)
        • Nginx (2)
      • 노빠꾸 개발일지 (70)
        • JAVA (16)
        • JQUERY & JAVASCRIPT (10)
        • HTML5 (0)
        • SPRING (16)
        • Design Patterns (1)
        • DAUM API (1)
        • GIT (10)
        • Python (1)
        • SPRING SECURITY (1)
        • Vue (3)
      • 노빠꾸 데이터베이스 (9)
        • SQL (1)
        • ORACLE (3)
        • MySql (5)
      • 노빠꾸 일상 (13)
      • 노빠꾸 책 추천 (4)
      • 노빠꾸 경제 (20)
      • 노빠꾸 맥북 사용기 (7)
      • 노빠꾸 정보처리기사 정리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    금융용어
    리노드
    스프링 시큐리티 5.7 버전이후 변경사항
    websecurityconfigureradapter란
    WebSecurityConfigurerAdapter Deprecated
    스프링부트 JPA
    스프링부트
    스프링부트 프로젝트
    경제용어
    우분투 자바 설치
    개인서버 추천
    websecurityconfigureradapter 빈 등록
    websecurityconfigureradapter 변경사항
    MySQL 데이터베이스 생성
    MySQL 사용자 계정 생성
    스프링부트란
    WebSecurityConfigurerAdapter
    티스토리 사이트맵 등록
    인텔리제이
    주식용어
    스프링시큐리티 websecurityconfigureradapter
    Linode
    사이트맵
    맥북 단축키
    JPA 쿼리 메소드
    깃허브 코파일럿
    websecurityconfigureradapter 사용법
    리눅스 자바 설치
    맥북 사용 팁
    Spring boot
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
No Backing
[JPA] 스프링 부트 JPA 기본 사용방법
상단으로

티스토리툴바