[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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바