본문 바로가기

⭐ SpringBoot/𝄜 게시판 with SpringBoot

(31)
14. 수정된 데이터를 DB에 저장하기 # 수정 페이지의 데이터를 DB로 갱신하고 이를 확인하기. 진행흐름 데이터의 수정 흐름은 크게 3단계 이다. 데이터를 받고, 이를 가공하고, 저장한다. 폼 데이터가 DTO에 담겨서 Controller에 전달이 되면, 리를 Entity로 가공하여 DB로 저장한다. 단, 기존 데이터가 있는 경우에만 수정해야 한다. 서버의 역할 분담은 MVC가, DB와의 소통은 JPA, 데이터 관리는 SQL로 이루어 진다. 웹서버에서 사용하는 프로토콜은 HTTP 이다. 이러한 HTTP는 다양한 요청을 메소드를 통해서 보내는데, 대표적인 메소드로는 GET, POST, PATCH/PUT, DELETE 등이 존재 한다. GET > 데이터의 조회를 요청 (Read) POST > 데이터의 생성을 요청 (Create) PATCH/PUT..
13. 수정폼 만들기 # 데이터를 수정할 수 있도록 수정 페이지를 만든다. 진행흐름 1. show.mustache인 데이터 상세 페이지에 수정하기 링크버튼을 만든다. 2. 컨트롤러가 해당 요청을 받아서 수정 페이지를 응답으로 보여준다. 3. 수정 페이지에서는 기존 데이터를 보여줘야 하기 때문에 DB에서 Repository를 통해 데이터를 가져온다. 4. Repository는 요청으로 던져진 id 값으로 Entity를 가져오고, Entity는 뷰에서 사용할 수 있도록 모델에 등록 되어야 한다. 5. 그리고 모델에 등록된 데이터를 뷰페이지에서 사용하면 된다. 링크 걸기 show.mustache 파일인, 데이터 상세 페이지에서 수정하기 링크를 만든다. class="btn btn-primary" 는 버튼의 그래픽을 부여한 코드이다...
12. 링크와 리 다이렉트 # 링크와 리 다이렉트를 활용한 페이지 연결 새글작성 링크 만들기 index 페이지에 새글작성 링크 만들기 아래와 같이 페이지 끝부분에 a 태그를 통해 새글작성 링크를 만들었다. 그리고 링크 이름을 New Article 이라고 지정해 준다. href 속성값은 요청을 보낼 링크 주소를 가지고 있다. {{>layouts/header}} ID Title Content {{#articleList}} {{id}} {{title}} {{content}} {{/articleList}} New Article {{>layouts/footer}} 뒤 돌아가기 링크 추가하기 새글을 입력하는 new.mustache 파일에 뒤 돌아가기 링크를 추가한다. a 태그로 이전 index 페이지로 돌아가는 /articles/ 경로를 추..
11. 데이터 목록조회 # DB속 모든 Article을 목록으로 조회 상황 설정 localhost:8080/articles 라는 URL을 호출 했을때, 여러개의 데이터가 INSERT되어 있는 리스트를 출력한다. 컨트롤러 생성 ArticleController 파일을 열고 해당 파일 안에 내용을 작성 한다. /articles 경로로 요청시 값을 처리하는 기본 메소드를 생성한다. @GetMapping("/articles") public String index() { return ""; } 컨트롤러 처리흐름 1. 모든 Article을 가져온다. 2. 가져온 Article 묶음을 뷰로 전달한다. 3. 뷰 페이지를 설정한다. 아래의 코드에서 List ... 의 타입 에러가 발생한다. @GetMapping("/articles") publi..
10. 데이터 조회하기 with JPA # DB의 데이터를 조회하여 웹 페이지에 표시하기 데이터 조회 과정 사용자가 URL로 데이터를 요청하면 이 요청 URL을 컨트롤러가 받고, 이 받아진 URL에서 찾고자 하는 데이터의 정보를 Repository에게 전달 한다. 이를 받은 Repository는 DB에게 요청을 보내고 DB는 해당 데이터를 찾아서 이를 Entity 타입으로 반환해 준다. 반환된 Entity는 모델을 통해 뷰 템플릿으로 전달이 되고, 최종적으로 클라이언트에게 전달이 된다. 데이터 조회 수행 데이터를 조회하기 위해서는 URL을 입력해야 하는데, 아래와 같이 입력하여 데이터를 가져온다. localhost:8080/articls/1 이런식으로 요청 했을때 1번 값을 반환 하도록 작성한다. 컨트롤러 코드 변경 조회하는 데이터가 Arti..
현재까지 내용 정리 1. 컨트롤러에서 시작 페이지 설정 2. 컨트롤러에서 설정한 시작 페이지로 이동 3. 이동할 페이지에서 사용할 기능과 방식을 action에 명시 4. 명시된 맵핑 정보로 이동, 명시된 맵핑 정보로 이동할 때는 폼에 입력된 값을 가지고 이동한다. 5. form에 입력된 값을 dto 객체로 받고, form이라는 변수에 담아 놓는다. (form 데이터를 dto로 바인딩 한다.) 6. 받아 놓은 dto 타입의 객체를 DB에 저장하기 위해 entity 타입으로 변환한다. (entity 타입의 변환 메소드는 dto 파일 하단에 정의) 7. 변환된 entity 값은 article 이라는 변수에 담겨 저장된다. 8. ArticleRepository 라는 인터페이스를 repository라는 패키지 폴더에 생성하고 컨트롤..
9. 롬복과 리팩터링 롬복 라이브러리 추가 build.gradle 파일에 dependencies 를 추가한다. 우측 상단에 코끼리 모양 아이콘을 새로고침 해준다. // 롬복 추가 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' 마켓 플레이스에서 Lombok을 찾아서 인스톨 해준다. 마켓플레이스 : help > findAction > plugins > 검색 > 설치 롬복을 적용하여 코드를 줄인 모습 @AllArgsConstructor @ToString public class ArticleForm { private String title; private String content; // @AllArgsConstructor 가..
8. DB 테이블과 SQL 저장된 데이터를 직접 DB 안에서 확인해 보는 작업을 수행 테이블은 행과 열로 이루어져 있다. 그리고 CRUD는 가장 기본이 되는 INSERT, SELETE, UPDATE, DELETE 를 실행한다. 여기서는 INSERT와 SELECT를 수행한다. H2 DB 설정 src > main > resources > application.properties 파일이 존재 한다. 해당 파일에 아래의 내용을 추가해 준다. 이 설정 값은 최초에 프로젝트 생성시 추가했던 H2 DB를 웹 콘솔로 접근 가능하도록 설정해주는 옵션이다. 서버를 재시작하면 반영이 된다. # h2 DB, 웹 콘솔 접근 허용 spring.h2.console.enabled=true H2 DB 웹 콘솔로 접근 localhost:8080/h2-consol..