네이버 클라우드 캠프/Spring 6

[Spring Boot] 게시판 구현하기(6)

ModelAndView 화면단으로 이동하기 위해서 ModelAndView라는 메서드를 사용할 수 있습니다. 이 방법을 사용하면, 이전에 사용한 ResponseEntity 메서드보다 간단해집니다. @GetMapping("/board-list") public ModelAndView getBoardList() { ModelAndView mv = new ModelAndView(); List boardList = boardService.getBoardList(); List boardDTOList = new ArrayList(); for(Board b : boardList) { BoardDTO returnBoardDTO = BoardDTO.builder().boardNo(b.getBoardNo()) .boardTi..

[Spring Boot] 게시판 제작하기(4)

컨트롤러 이번에는 게시판에서 CRUD 기능을 구현하기 위한 컨트롤러(BoardController)를 제작해보겠습니다. 여기서는 두가지 방식이 있습니다. RepositoryEntity를 선언하는 방식과 ModelAndView를 사용하는 방법으로 나누어 진행해보겠습니다. RepositoryEntity RepositoryEntity를 사용하고 타입은 와일드카드로 정의해서 데이터베이스에 저장된 값을 한번에 조회할 수 있습니다. READ @GetMapping("/board-list") public ResponseEntity getBoardList() { ResponseDTO responseDTO = new ResponseDTO(); try { List boardList = boardService.getBoardL..

[Spring Boot] 게시판 구현하기(3)

사용자 사용자 혹은 회원에 대한 정보를 관리하는 페이지를 제작해보겠습니다. 엔티티(entity)를 제작하고 레포지토리를 선언하고 서비스를 만들고 연결해보겠습니다. 먼저 User 이름의 엔티티를 생성합니다. package com.bit.springboard.entity; import jakarta.persistence.*; import lombok.Data; import java.time.LocalDateTime; @Entity @Table(name = "T_USER") @Data public class User { @Id @GeneratedValue( strategy = GenerationType.IDENTITY ) private long id; @Column(unique = true) private S..

[Spring Boot] 게시판 구현하기(2)

이어서 BoardRepository를 설정합니다. JpaRepository가 있어서 이것을 상속받아서 메소드를 별도로 구현하지 않아도 제공된 다양한 메소드(List, findAll, List, findAll(Sort sort), saveAll, void flush, T findById 등)를 사용할 수 있습니다. package com.bit.springboard.repository; import com.bit.springboard.entity.Board; import org.springframework.data.jpa.repository.JpaRepository; public interface BoardRepository extends JpaRepository { } 다음은, DB에 있는 내용을 한번에 ..

[Spring Boot] 게시판 구현하기(1)

스프링 부트 Spring framework는 지원이 잘 안되어, Spring Boot에 대해서 알아보았습니다. 게시판을 구현하기 위해 다양한 방식을 지원하지만, JPA를 활용해보겠습니다. JPA는 객체, 즉 테이블을 구성하기 위해 Entity(엔터티, 엔티티)를 사용합니다. Board라는 엔티티(클래스)를 생성합니다. 코드를 살펴보겠습니다. @Entity @Table(name="T_BOARD") @SequenceGenerator( name="BoardSeqGenerator", sequenceName = "T_BOARD_SEQ", initialValue = 1, allocationSize = 1 ) ... 1) @Entity 어노테이션을 통해 엔티티 클래스로 지정할 수 있습니다. 2) @Table은 테이블..

[Spring Framework] 게시판 구현하기(1)

회원 관련 기능을 구현 1. 요청별 method 타입을 다르게 할 수 있습니다. 1) get 요청으로 가는 경우 - 브라우저 주소창에 주소를 입력하는 경우는 get 요청 - a태그 클릭해서 링크로 이동 - form의 method 속성이 get으로 설정되어 있을 때 - redirect로 다른 요청 url을 호출할 때 - ajax의 type이 get으로 설정되어 있을 때 2) post 요청으로 가는 경우 - form의 method 속성이 post로 설정되어 있을 때 - ajax의 type이 post로 설정되어 있을 때 2. get과 post 사용 1) get 요청: 데이터 목록을 조회하거나 화면으로 이동할 때 주로 사용합니다. 2) post 요청: 데이터의 입력, 수정, 삭제, 특정 데이터 조회 등에서 사용..