Programing/JPA

JPA with Springboot, Entity mapping 데이터 조회 방법

리커니 2021. 5. 4. 11:03
반응형

JPA with Springboot, Entity mapping 데이터 조회 방법

 

이전 포스팅에서 JPA 설정 방법을 알아보았습니다. 

 

Link : aljjabaegi.tistory.com/561

 

JPA 설정 방법, Guide To JPA with Springboot

JPA 설정 방법, Guide To JPA with Springboot 이전 포스팅에서 JPA를 왜 사용해야 하는지에 대해서 포스팅 했었습니다. Link : aljjabaegi.tistory.com/553 JPA (Java Persistance API) 란? 왜 써야하는가..

aljjabaegi.tistory.com

Database의 테이블과 Java Entity Class를 매핑하는 방법을 알아보겠습니다.

class를 생성하기 전에 테스트를 진행할 테이블의 정보를 확인해보도록 하죠.

 

 

m_op_member 테이블에 MEMBER_ID를 Key 값으로 하는 컬럼들이 있습니다. 

이제 이 테이블을 기초로 하는 Entity 클래스를 생성하겠습니다.

 

base package > model > entities package에 Member.class를 생성합니다.

 

[Member.class]

import javax.persistence.Column;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

import lombok.Data;

@Entity
@Table(name="M_OP_MEMBER")
@Data
public class Member {
	@Id
	@Column(name="MEMBER_ID", length=20)
	private String id;
	
	@Column(name="MEMBER_NAME", length=50)
	private String name;
	
	@Column(name="PASSWORD")
	private String password;
	
	@Column(name="ROLES", length=10)
	private String roles;
	
	@Column(name="USE_YN", length=1)
	private String useYn;
	
	@Column(name="REG_DTM", length=20)
	private String regDtm;
}

 

Entity annotation으로 Entity임을 설정하고, Table annotation에 name으로 테이블명을 연결합니다. 

Id annotation은 테이블의 키값을 의미하며, Entity 객체 내에는 항상 존재해야 합니다. 

변수명도 id로 사용해야 합니다.

Column annotation으로 컬럼명과 길이를 설정해주세요.

 

이제 데이터를 조회하기 위한 Repository와 Service를 생성합니다.

base package > repositoy package에 MemberRepository interface를 생성합니다.

 

[MemberRepository Interface]

@Repository
public interface MemberRepository extends JpaRepository<Member, String>{

}

JpaRepository를 상속만 받으시면 됩니다. 

 

[MemberListServiceImpl Interface]

public interface MemberListServiceImpl {
    List<Member> getMemberList() throws Exception;
}

 

[MemberListService class]

@Service("memberService")
public class MemberListService implements MemberListServiceImpl{
    @Autowired
    private MemberRepository repo;
    
    @Override
    public List<Member> getMemberList() throws Exception {
        return (List<Member>) repo.findAll();
    }
}

 

컨트롤러에 대한 설명은 제외하겠습니다. 

저의 경우 /test.json 경로로 post 요청에 대해 위의 Service 로직을 실행하게 구현하였습니다.

 

이제 Postman을 활용하여 데이터를 요청해보겠습니다.

 

 

데이터가 리턴되는 것을 확인하실 수 있습니다. 

다음 포스팅에서는 그리드에 표출하기위한 paging 과 sorting, parameter를 전달하는 

방법에 대해 알아보도록 하겠습니다.

 

Link : aljjabaegi.tistory.com/563

 

JPA paging, sorting 방법 Pageable, Sort

Sprincboot JPA paging, sorting 방법 Pageable, Sort Springboot JPA 설정 방법과 Entity mapping 방법은 아래의 Link를 참고하세요. Link : aljjabaegi.tistory.com/561 JPA 설정 방법, Guide To JPA with Sprin..

aljjabaegi.tistory.com

Link : aljjabaegi.tistory.com/564

 

JPA with Springboot, 조건 조회, Specification, Predicate, CriteriaBuilder

JPA with Springboot, 조건 조회, Specification, Predicate, CriteriaBuilder 이번 포스팅의 코드는 아래의 Link 들의 코드에 이어 진행됩니다. 아래의 Link를 참고하세요. Link : aljjabaegi.tistory.com/562 JP..

aljjabaegi.tistory.com

 

반응형