DB 적용하기 | MariaDB, Entity, Repository, DAO, DTO

이경영·2022년 10월 12일
0

스프링부트2

목록 보기
12/19
post-custom-banner

출처 : https://youtu.be/4Pvd0KrTfvE

Springboot 서비스 구조


Client : 브라우저에 띄워져있는 화면
Controller : Request가 들어오는 부분 (DTO 형식의 객체를 사용)
어떠한 요청이 들어왔는지 판단한 후에 그것과 맞는 서비스로 DTO객체를 보내주게 됨.
Service : 비즈니스 로직의 전반적인 내용을 처리하는 곳
EX) 클라이언트에서 받은 이름, 비밀번호, email 뿐만 아니라 가입일자, 멤버등급 같은 것 서비스객체에서 처리를 해준다 => 이렇게 Entity를 만들어서 DAO로 보내게 됨
DAO : db와 직접 통신하는 영역 Entity에 있는 값을 db에 저장하거나, 가져오거나 같은 작업들을 수행하게 됨.

  • ServiceImpl
  • DAOImple
    :실제화된 로직이 들어간 부분은 implementation 클래스가 비지니스 로직을 상속받게 됨.


Entity(Domain)

  • 데이터베이스에 쓰일 컬럼과 여러 엔티티 간의 연관관계를 정의
  • 데이터베이스의 테이블을 하나의 엔티티로 생각해도 무방함
  • 실제 데이터베이스의 테이블과 1:1로 매핑됨
  • 이 클래스의 필드는 각 테이블 내부의 컬럼을 의미

Repository

  • Entity에 의해 생성된 데이터베이스에 접근하는 메소드를 사용하기 위한인터페이스
  • Service와 DB를 연결하는 고리의 역할을 수행
  • 데이터베이스에 적용하고자 하는 CRUD를 정의하는 영역

DAO (Data Access Object)

  • 데이터베이스에 접근하는 객체를 의미
  • Service가 DB에 연결할 수 있게 해주는 역할
  • DB를 사용하여 데이터를 조회하거나 조작하는 기능을 전담

DTO (Data Transfer Object)

  • DTO는 VO로 불리기도 하며, 계층간 데이터교환을 위한 객체를 의미
  • VO의 경우 ReadOnly의 개념을 가지고 있음.
  • 데이터베이스의 컬럼과는 독립적이다.


profile
꾸준히
post-custom-banner

0개의 댓글