자바풀스택 과정/자바 풀 스택 : 수업내용정리

자바 풀 스택 2/28 오후 기록 065-2

파티피플지선 2025. 2. 28. 18:19

 

 

 

 

<14:30 5교시>

파일 기능 알아서 추가해보라고 하심....ㅋㅋㅋㅋㅋㅋ 하...

 

새 프로젝트 나감 JPA

 

 

이번시간엔 JPA에 대해서 배울건데 JPA에 대해 검색해서 공부하고 있기

챗지피티에게 물어본 JPA in JAVA

 

JPA는 선택 사항임. 깊이 들어가면 어렵다고 함.

 

 

새로운 클래스 만들기

 

 

이걸 실행하면 알아서 데이터베이스에 테이블을 생성해줌.

 

 

 

 

 

 

이렇게 선언한 것만으로, MemberRepository 인터페이스를 구현한 클래스로 생성된 객체가 bean으로서 관리된다.

 

 

 

15:22에 선생님 수업 관련해서 고민하시는 동안  다운로드 횟수 체크하는 것도 성공했다. 야호.

다만 이제, 다운로드 링크 누르면 page 새로고침 해주는 기능 추가해줄 필요가 생김 ㅋㅋ

 

<15:30 6교시>

 

create-drop 하면 일시적으로 생성했다가 삭제도 한다.

이렇게 작성하는 것만으로 DB에 테이블이 생성된다.

 

DB에 있는 내용을 읽어올 때는 Entity를 Dto로 변환해서 읽어온다.

 

entityList를 만들기 위해 위에서 만든 toDto 메소드를 사용해서 .stream.map() 형태의 함수로 entityList를 List<MemberDto>로 만들 수 있다.

아래는 서비스의 코드.

 

 

Controller의 구조는 똑같다

 

 

테이블을 직접 만들지도 않았고 SQL문을 작성하지 않았는데도 데이터를 영구 저장할 수가 있는 방식이다.

대신 이건 SQL을 할 수 있다는 가정하에서 배워야지 이걸 먼저 배운 사람은....ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

데이터베이스 설정만 바꾸면 DB 종류에 영향을 받지 않는다는것이 장점이다. 

 

오라클에서 h2db로 설정바꾸기(1분컷이라고 함)

 

방금 만든 폴더의 경로를 작성해준다. 다른 데이터베이스를 쓰는데 돌아가느냐,에 대한 내용.

 

 

H2 DB에 연결하는 방법

 

 

 

<16:30 7교시>

entity를 dto로 전환하는 toDto 메소드를 만들었듯, entity에 toEntity 메소드를 만든다.

 

 

어쨋든 결론은 JPA는 entity와 Dto를 서로 변환해주는것만 신경써야한다는 거 빼면 DB를 많이 신경쓰지 않아도 돼서 편리하다.

 

 

update는 테이블 유지, create는 시작할 때 테이블을 삭제하고 다시 생성,

create-drop은 시작할 때 테이블 생성, 종료될 때 테이블 삭제

이 부분 바꾸면 아래처럼 이렇게 된다.

 

 

<17:30 8교시> 

으어어.... Entity 와 Dto 관계 제대로 이해 못한듯 ㅠㅠㅠ

이 관계성이 무엇이다냐....

 

일단 주말에 해봐야징...