상세 컨텐츠

본문 제목

스프링 부트로 시작하는 웹 서비스_8마무리

JSP·자바·코틀린

by 김일국 2021. 8. 26. 11:52

본문

### 작업한 소스 깃 : https://github.com/miniplugin/kimilguk-springboot2

### 작업결과 배포 클라우드헤로쿠 : https://kimilguk-springboot2.herokuapp.com/

이전 포스트에 이어서 스프링 JPA 의 N:1 관계로 첨부파일 테이블과 게시판 테이블을 연결해서 작업을 진행해 보았습니다. 적용한 결과는 아래 다중 첨부파일 부분입니다. 오늘로 스프링 부트를 마무리 합니다.

### 앞으로 작업 예정
- 신규 프로젝트 springboot-kimilguk 으로 생성.

 

개발툴은 인텔리J 커뮤니티 무료버전에는 JPA 처리 툴이 없어서(Ultimate 유료버전에 내장되어 있음-ERD까지 확안가능)

jpa 버디라는 플러그인을 설치해서 스프링부트의 JPA를 눈으로 확인 할 수 있게 됩었습니다.

위 인텔리J 커뮤니티 화면에서 Posts 엔티티(테이블)를 ManyFile 엔티티에서 참조(Referenced)한다고 되어 있음(왼쪽화면), 그리고, 가운데 화면에 ManyFile 엔티티가 있고, 제일 오른쪽 화면에 Many to One 이라는 카디널리티가 N:1 로 정의된 것을 확인 할 수 있습니다. ERD 까지 확인 가능하면, 좀더 좋을 듯 하지만, 무료버전의 한계니 그냥 사용합니다.

아래는 작업 내역 입니다.


### 20210827() 엔티티관계4
- 다중 첨부파일에서 파일 개수 2개로 수정 마무리.
- $(".file_id").children("input[name='file_id']:first").val();//first 를 숫자로 변경, 아래 get(0)
- $(".file_id").children("input[name='file_id']:last").val();//last 를 숫자로 변경, 아래 get(1)
- var fileId = $("input[name='file_id']")
- .map(function(){ return $(this).val() })
- .get(0);
- 확인 URL: http://jsfiddle.net/hy7QS/

### 20210826() 엔티티관계3
- 다중 첨부파일에서 파일 개수 2개로 수정.

### 20210825() 엔티티관계2.
- postgreSQL 데이터페이스에서도 엔티티 관계 작동되는지 확인
- JPQL(Java Persistence Query Language) :
- 단일 첨부파일에서 다중 첨부파일로 수정.
- static 디자인 index.html 실행 확인.

### 20210824() 엔티티관계1.
- 게시판과 첨부파일을 엔티티로 부모-자식 관계 설정 으로 변경해서 구현.
- 기술참조: https://wordbe.tistory.com/entry/Spring-Data-JPA-Entity-%EA%B4%80%EA%B3%84-%EB%A7%A4%ED%95%91
- N:1 단방향 엔티티 ManyFile 클래스 생성 : 스프링 JPA 에서 외래키 post_id 자동 생성됨.
- ManyFile, ManyFileRepository, ManyFileDto, ManyFileService, ManyFileUtilsApi, indexController 클래스 생성.
- 머스태치 뷰 파일 수정: posts-list, post-save, post-read, post-update 수정.

### 20210823() 작업.
- 본인 작성한 글만 수정/삭제 가능, 관리자는 모두 가능 처리.

### 20210822() 작업.
- 페이징 자바쪽 좀더 복잡한 로직 처리. PostsService.java -> PostPageService.java 로 분리
- 제대로 페이징 작업 참고: https://matchless.tistory.com/31
- 머스태치 뷰단 기존 간단한 적용도 보존 하면서 그 아래 신규 페이징 뷰단 추가 OK.

 

Ps. 휴식시간: 2021 상반기 결산 Kpop dance : https://www.youtube.com/watch?v=8zDd85xue0I 

 

관련글 더보기

댓글 영역