Burninghering's Blog
Published 2021. 11. 5. 09:10
211104TIL_스프링 2 Today I Learned

-JPA를 사용하기 위해 세팅!

1)application.properties 세팅

2)JPA 실행 코드

    // item01Application.java 의 main 함수 아래에 붙여주세요.
    @Bean
    public CommandLineRunner demo(LectureRepository lectureRepository) {
        return (args) -> {
            Lecture course = new Lecture("웹개발의 봄", "남병관");
            lectureRepository.save(course); //레포지터리에서 상속받아 Lecture의 엔티티, 객체를 생성해서 세이브 메소드 호출(인자값으로) = insert문 (jquery 만들어줌)
            lectureRepository.findAll(); //Select문 생성
        };
    }

 

-상속 : extends

이미 만들어둔 것을 갖다 쓰겠다고 선언하는 것

class Person {
    private String name;
    public String getName() { //세터
        return this.name;
    }

    public void setName(String name) { //게터
        this.name = name;
    }
}

class Tutor extends Person {
	private String address;
	// Person 클래스를 상속했기 때문에,
	// name 멤버변수와 getName() 메소드를 가지고 있습니다.
}

상속 연습!

 

-상속 연습해보기

@MappedSuperclass // 상속했을 때, 컬럼으로 인식하게 합니다.
@EntityListeners(AuditingEntityListener.class) // 생성/수정 시간을 자동으로 반영하도록 설정
public class Timestamped {

    @CreatedDate // 생성일자임을 나타냅니다.
    private LocalDateTime createdAt;

    @LastModifiedDate // 마지막 수정일자임을 나타냅니다.
    private LocalDateTime modifiedAt;
}

 

-JPA 심화 - C,R 기능 구현함

 

-Service?

(우리는 DB 담당하는 레포지터리까지 만듬)

  • 스프링의 구조는 3가지 영역으로 나눌 수 있습니다.
    1. Controller : 가장 바깥 부분, 요청/응답을 처리함.
    2. Service : 중간 부분, 실제 중요한 작동이 많이 일어나는 부분
    3. Repo : 가장 안쪽 부분, DB와 맞닿아 있음.
  • Update 는 Service 부분에 작성합니다.

service 만들고, U,D 기능 구현

 

 

-Lombok : 코드 절약하기

Getter,Setter 없애주고 자기들이 만들어줌

디폴트 생성자 자동으로 만들어줌

 

-DTO(Data Transfer Object)

레이어들 사이의 데이터들을 연결

dto로 서비스를 연결하고 객체의 값을 바꾸고..

업데이트할때 서비스

서비스 콘트롤러 리포지터리 - 레이어마다 데이터를 넘긴다.

서비스단의 (비즈니스 로직) 데이터를 넘겨주는데

이걸 엔티티를 굳이 써서 하지 않고(리포지터레 레이어와 관련있으니) dto를 사용해서 처리하는 것이다 

 

DTO연습

 

 

-API : POST/PUT 만들기

 

 

 

...

 

 

20번까지

리포지터리쪽은 다 만든것

이번의 엔티티 이름은 메모

테이블 이름 메모

 

'Today I Learned' 카테고리의 다른 글

211109TIL_스프링 5  (0) 2021.11.09
211105TIL_스프링 3  (0) 2021.11.05
211103TIL_스프링 1  (0) 2021.11.03
211029TIL_서버리스(3)-백엔드2  (0) 2021.11.03
211028TIL_서버리스(2) - 백엔드  (0) 2021.10.29
profile

Burninghering's Blog

@개발자 김혜린

안녕하세요! 반갑습니다.