일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- html
- css
- 2차원배열
- springboot
- security
- Linux
- 싱글톤
- programmers
- 코딩테스트
- StyleSheet
- 리눅스
- java
- Spring boot
- 시큐리티 로그아웃
- 목록
- 시큐리티
- JAVA11
- 시큐리티 로그인
- 로그인
- codingtest
- 반복문
- gradle
- sql
- 스프링 부트
- javascript
- springSecurity
- 소스트리
- 시큐리티로그인
- 프로그래머스
- input태그
- Today
- Total
목록Project/2023.02~ ) Study toy 프로젝트 (14)
JAVAIARY

1. 영화 목록 출력 처리 - 추가 1) 영화 이미지 추가 중간에 영화 이미지를 함께 결합해 줌 @Query("select m, max(mi), avg(coalesce(r.grade,0)), count(distinct r) from Movie m " + "left outer join MovieImage mi on mi.movie = m " + "left outer join Review r on r.movie = m group by m") Page getListPage(Pageable pageable); 영화 목록 10개를 가져오는 쿼리가 1회 실행되고, 각 영화의 이미지를 가져오는 쿼리는 각각 실행되기 때문에 총 10번 실행됨 2) N+1 문제 1번의 쿼리로 N개의 데이터를 가져왔는데 N개의 데이터를 처..

목표 : JPA를 이용해서 M:N(다대다) 관계의 구현 방법을 알아본다. 예제 영화(Movie), 회원(Member) 테이블이 존재하고, 회원이 영화에 대한 평점과 감상을 기록한다. - 한 편의 영화는 여러 회원의 평가가 행해질 수 있다. - 한 명의 회원은 여러 영화에 대해 평점을 줄 수 있다. 1. 다대다 관계의 특징 1) 논리적 설계와 실제 테이블 설계가 다름 회원은 여러 편의 영화를 평가할 수 있음 한 편의 영화는 여러 회원이 존재함 ex) - 학생 / 수업: 한 명의 학생은 여러 수업에 참여하고, 하나의 수업은 여러 학생이 수강한다. - 상품 / 상품 카테고리: 하나의 상품은 여러 카테고리에 속하고, 하나의 카테고리는 여러 상품을 가지고 있다. - 상품 / 회원 : 하나의 상품은 여러 회원이 구..

1) 모달창 x 닫기 버튼과 close 버튼 작동 안함 이벤트 추가로 수정 2) 댓글 한 번 열면 안 닫히는 이슈 var showReplyList = false; //댓글 리스트 출력상태 $(".replyCount").click(function(){ if(!showReplyList){ showReplyList = !showReplyList; loadJSONData(); $.getJSON('/replies/board/'+bno, function(arr){ console.log(arr); }) // end getJSON }else{ listGroup.html(""); showReplyList = !showReplyList; } }) // end click boolean 변수를 추가하여 false일 때 클릭시..

댓글 처리 댓글은 게시물의 조회 화면에서 처리 Ajax를 이용해서 컨트롤러와 JSON 포맷으로 데이터를 교환 경로 : '/replies/' 1. JSON & Ajax로 댓글 처리 게시물이 로딩된 이후에 화면에서 댓글의 숫자를 클릭하면 해당 게시물에 속한 댓글을 Ajax로 가져와 화면에 출력 버튼 클릭 시 새로운 댓글을 입력할 수 있는 모달창 출력, Ajax POST 방식으로 댓글 전송 이후에 댓글의 목록을 새로 가져와서 화면상에 조금 전에 추가한 댓글을 볼 수 있도록 함 댓글 삭제와 수정은 댓글 등록과 동일하게 특정 댓글을 선택해서 모달창에서 처리 * 자신이 작성한 댓글에 대해서만 수정/삭제가 가능해야 하지만 현재 보안 적용되지 않은 관계로 고려하지 않고 적용 1) ReplyRepository 수정 pu..

1. Repository의 확장 쿼리메서드나 @Query 등으로 처리할 수 없는 기능은 별도의 인터페이스로 설계 별도의 인터페이스에 대한 구현 클래스를 작성합니다. 이 때 QuerydslRepositorySupport라는 클래스를 부모 클래스로 사용 구현 클래스에 인터페이스의 기능을 Q도메인 클래스와 JPQLQuery를 이용해서 구현 1) compileJava 실행 Q도메인 클래스 생성 확인 2) search 패키지와 Repository 생성 public interface SearchBoardRepository { Board search1(); } @Log4j2 public class SearchBoardRepositoryImpl extends QuerydslRepositorySupport impleme..

1. 컨트롤러 생성 @Controller @RequestMapping("/board/") @Log4j2 @RequiredArgsConstructor public class BoardController { private final BoardService boardService; } 1) BoardController 목록 처리를 위한 /list @GetMapping("/list") public void list(PageRequestDTO pageRequestDTO, Model model){ log.info("list......." + pageRequestDTO); model.addAttribute("result", boardService.getList(pageRequestDTO)); } GuestBook L..

테스트를 완료했으니 실제 웹 브라우저에서 불러온 데이터를 확인할 수 있도록 프로젝트 적용 1. DTO / 서비스 계층 작성 1) DTO @Data @ToString @Builder @AllArgsConstructor @NoArgsConstructor public class BoardDto { private Long bno; private String title; private String content; private String writerEmail; // 작성자 이메일 private String writerName; // 작성자 이름 private LocalDateTime regDate; private LocalDateTime modDate; private int replyCount; // 해당 게시..

목록화면에서 게시글의 정보 + 댓글 수를 가져오기 위해 여러 엔티티가 필요하기 때문에 Join을 사용함 JOIN 참고 링크 https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/ SQL 기본 문법: JOIN(INNER, OUTER, CROSS, SELF JOIN) 조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.OUTER JOIN(외부 hongong.hanbit.co.kr 1.목록화면에 필요한 JPQL 구성하기 목록화면에서 필요한 데이터..