✏️ 접근자/ 설정자 자동 생성@Getter어떤 필드를 만들면 그 필드에 대한 getter()를 자동으로 생성필드에 선언하면 필드 단위로, 클래스에 선언하면 클래스 단위로 getter()를 생성@Getter어떤 필드를 만들면 그 필드에 대한 setter()를 자동으로 생성필드에 선언하면 필드 단위로, 클래스에 선언하면 클래스 단위로 setter()를 생성✏️ 생성자 자동 생성@NoArgsConstructor파라미터가 없는 기본 생성자를 만들어준다@AllArgsConstructor모든 필드 값을 파라미터로 받는 생성자를 만들어준다@RequiredArgsConstructorfinal이나 @NonNull인 필드 값만 파라미터로 받는 생성자를 만들어준다✏️ ToString 메소드 자동 새성@ToStringtoS..
좋아요 누르기 로직로그인 한 유저는 아무 게시물에 좋아요를 누를 수 있다.한 사람이 같은 게시물에 여러 번 좋아료를 누르는 것을 방지한다.방지하는 방법은 좋아요를 한 번 누르면 좋아요 수가 증가하고, 거기서 한 번더 누르면 좋아요 수가 감소한다.인스타에서 우리가 좋아요를 누르면 하트가 빨간색으로 변하고, 다시 누르면 하트에 빨간색이 사라지는 것을 생각하기✏️ Likes 클래스package hello.hello_spring.domain.board;import jakarta.persistence.*;import lombok.*;@Getter@Setter@Entity@Table(name = "Likes")@Builder@NoArgsConstructor@AllArgsConstructorpublic class L..
댓글 달기 로직로그인이 되어 있고 게시물이 존재한다면 댓글 달기 화면으로 넘긴다(자신이 누구의 게시물에 댓글을 다는지 알려준다)유저는 댓글 내용만 입력할 수 있고 자신이 댓글을 달 게시물을 볼 수 있다.입력한 내용을 컨트롤러가 CommentPostDTO로 받아온다.컨트롤러는 로그인이 되어 있는지, 댓글을 달 게시물이 존재하는지, 댓글을 다는 유저가 존재하는지를 검사위의 조건을 모두 만족시키면 commentService를 이용해 댓글을 Comment DB에 저장✏️ Comment 클래스@Getter@Setter@Entity@Builder@NoArgsConstructor@AllArgsConstructorpublic class Comment { @Id @GeneratedValue(strategy =..
✏️ 게시물 삭제 로직유저가 삭제하기 버튼을 누른다컨트롤러는 로그인 상태를 확인하고 로그인이 되어 있다면 boardService를 통해 게시물을 삭제한다.로그인이 되어 있지 않다면 로그인 화면으로 리턴시킨다.boardService는 전달받은 idx를 통해 게시글이 존재하는지 확인하고 존재한다면 게시물을 삭제한다.✏️ Api Controller 클래스@PostMapping("/delete") // 글 삭제하기public String delete(HttpServletRequest httpServletRequest, @RequestParam("idx") Long idx) { HttpSession session = httpServletRequest.getSession(true); Optional id..
- Total
- Today
- Yesterday
- 알고리즘 공부
- DP
- 백준
- 이분 매칭
- C++ Stack
- c++ string
- DFS
- 자바스크립트
- 세그먼트 트리
- 알고리즘
- 카운팅 정렬
- html
- CSS
- 반복문
- HTML5
- 자료구조
- 스프링 부트 crud 게시판 구현
- 에라토스테네스의 체
- 유니온 파인드
- Do it!
- 자바
- 우선순위 큐
- 유클리드 호제법
- C++
- js
- BFS
- java
- 백준 풀이
- 투 포인터
- 스택
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |