이번 실습은 인프런 스프링 부트 강의 중 가장 유명한 김영한 선생님의 강의를 토대로 만들었다.
무료고 강의 자체가 짧아 금방 볼 수 있다. 추천 추천!! 😲😲
스프링 부트 회원 기능 실습
이번에는 DB를 설정해준다.
앞서 실습에서 회원 가입하고 목록 조회하는 실습을 해줬는데 DB를 연결해주지 않아
서버가 재시작할 때마다 가입된 회원이 사라져 새로 시작됐다.
이전 실습에서는 JDBC와 Mybatis로 DB 연결, 쿼리 실행 등을 했는데
이번에는 스프링부트와 떼놓을 수 없는 JPA를 이용해 실습을 진행하겠다.
일단 JPA는 자바에서 RDBMS를 사용하기 위한 방식을 정의한 인터페이스라고 간단히 설명할 수 있다.
1. H2 database 설치
미리 설치된 오라클 혹은 MySQL을 써도 된다.
일단 나는 강의에 맞춰 H2를 다운받아 실습했다.
압축을 풀고 파일 위치로 접근해 h2.bat을 실행해준다.
바로 이렇게 창이 뜬다. 연결을 눌러 들어가면 된다.
2. member 테이블 생성
id와 name 컬럼으로 구성된 member테이블을 생성해줬다.
3. H2, JPA라이브러리 추가
둘을 추가해주고 gradle refresh를 해준다.
application.properties 에서 DB 설정을 해준다.
4. JPA 작성
4-1. domain member
@Entity : JPA가 관리하는 entity로 정의됨
@Id : PK 선언
@GeneratedValue : 테이블 생성시 추가했던 id bigint generated by default as identity, 조건은 자동으로 id값이 생성되고 증가된다는 것이다. 이를 id에서 선언해준다.
4-2. JpaMemberRepository 생성
JpaMemberRepository를 만들어 MemberRepository를 상속받아 준다.
그리고 엔터티를 쉽게 저장관리해주는 EntityManager를 주입받아준다.
그리고 EntityManager 문법에 따라 메소드를 작성해준다.
엔터티를 저장할때는 em.persist( )를, 엔터티를 조회할때는 em.find( )를 쓴다.
쿼리문을 작성하지 않아도 이렇게만으로 DB에 접근이 가능한 것이다. 굉장히 쉽고 획기적이다.
5. @Tranactional 처리
JPA를 사용하기위해선 트랜잭션이 필요하다. JPA를 통한 데이터변경은 모두 트랜잭션 안에서 실행되어야한다.
6. 스프링 빈 설정 등록
SpringConfig에서 빈등록까지 해주면 진짜 끝이다.
그리고 서버 실행하고 회원 등록, 목록 읽기를 해주면 잘 뜨는 걸 볼 수있다.
댓글