springboot:dao 및 솔리드 레이어

6052 단어 javaweb
Controller층은 종업원 같았다. 그는 손님(앞부분)이 주문한 요리(데이터, 요청한 유형 등)를 어떤 맛, 간, 양의 양을 모아 주방장(서비스층)에게 건네주었고, 주방장은 도마 셰프(Dao 1), 탕수프방(Dao 2), 반찬 셰프(Dao 3) 등(통칭 Dao층)에게 어떤 반제품이 필요한지 알려주었다.부주방장들(Dao층)은 주방장(서비스)이 맡긴 임무를 완수한다.
Dao Tier: 전체 이름이 Data Access Object입니다.Dao층은 밑바닥을 비교하고 데이터베이스와 접촉하여 특정한 표, 특정한 실체에 대한 첨삭과 수정, JpaRepository 간단한 조건 조회를 책임진다.
코드 1:dao 레이어 jpa:
package com.dwx.repository;
import java.util.List;
 
import org.springframework.data.jpa.repository.JpaRepository;
import com.dwx.bean.User;
public interface UserRepository extends JpaRepository<User, Integer> {
	User findByUserName(String userName);
	List<User> findByUserNameAndAge(String userName,Integer age);
	List<User> findByUserNameLike(String userName);
}

Entity 층: 실체 층, 하나의 실체를 배치하고 그에 상응하는 set, get 방법을 설정합니다.데이터베이스에 대해 일부 조작(예를 들어 읽기)을 하려면 먼저entity층을 써야 한다.소백의springboot여행(11)-springboot의 사용자 권한 관리(一)
코드 2:user 엔티티
@Entity
@Table(name = "sys_user")
@Cacheable
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = "entityCache")
@ToString(includeFieldNames = true)
public class User implements UserDetails {

    @Id
    @GeneratedValue
    @Column(name = "id")
    private String id;

    @Column(name = "username")
    private String username;

    @Column(name = "password")
    private String password;
}

1. SPRING에서 자주 사용하는 주석(@ENTITY, @TABLE, @COLUMN, @REPOSITORY, @SERVICE)
@Entity 엔티티 주석.모든 Hibernate 매핑 객체에는 이 메모가 있어야 합니다. @Id는 이 속성을 주 키로 선언합니다.이 속성 값은 자체적으로 만들 수 있지만, Hibernate는 @GeneratedValue를 통해 키의 생성 정책을 생성하는 것을 추천합니다.다음과 같은 네 가지 값이 있다
 TABLE:     id 
 IDENTITY:identitycolumn
 SEQUENCR :sequence
 AUTO:              

@Column은 이 속성과 데이터베이스 필드의 매핑 관계를 설명합니다. @Lob 는 데이터베이스가 지원하는 객체 유형에 영구 속성 또는 필드를 큰 객체로 영구 저장하도록 지정합니다.
2. Pojo vo dto entity domain의 차이점
jo 간단한 java 대상 기본 대상은 간단한 get/set 방법만 포함 vo view objecet 보기 대상 html jsp DTO data transfer object 데이터 전송 대상은 페이지에 전시되지 않고 단순화된 데이터entity 실체 데이터베이스로 orm 맵 domain 영역 모델 은행 보험 전자상거래 물류 의료 DDD 영역 구동 디자인 은행 직원 user Account 계정 VIP 포인트

좋은 웹페이지 즐겨찾기