URL 맵핑
localhost:8080/articles/ {id} 로 조회가 가능하게 컨트롤러 코드 추가
서버를 실행시며 /articles/ id 를 넣으면 콘솔에 정상적으로 찍힌다
id 조회해 데이터 가져오기
@GetMapping("/articles/{id}")
public String show(@PathVariable Long id){
log.info("id = " +id);
//1. id를 조회해 데이터 가져오기
Article articleEntity = articleRepository.findById(id).orElse(null); //추가
//2. 모델에 데이터 등록하기
//3. 뷰페이지 반환하기
return "";
}
모델에 데이터 등록하기
@GetMapping("/articles/{id}")
public String show(@PathVariable Long id, Model model){ //코드 추가
log.info("id = " +id);
//1. id를 조회해 데이터 가져오기
Article articleEntity = articleRepository.findById(id).orElse(null);
//2. 모델에 데이터 등록하기
model.addAttribute("article",articleEntity); //코드 추가
//3. 뷰페이지 반환하기
return "";
}
뷰페이지 반환하기
@GetMapping("/articles/{id}")
public String show(@PathVariable Long id, Model model){
log.info("id = " +id);
//1. id를 조회해 데이터 가져오기
Article articleEntity = articleRepository.findById(id).orElse(null);
//2. 모델에 데이터 등록하기
model.addAttribute("article",articleEntity);
//3. 뷰페이지 반환하기
return "articles/show"; //코드 수정
}
templates > articles 에서 show.mustache 파일을 만들어준다
부트스트랩에서 테이블을 끌고와서 만들어줌
{{>layouts/header}}
<table class="table">
<thead>
<tr>
<th scope="col">ID</th>
<th scope="col">Title</th>
<th scope="col">Content</th>
</tr>
</thead>
<tbody>
<tr> <!--확인용 코드-->
<th>1</th>
<td>제목 1111</td>
<td>내용1111</td>
</tr>
</tbody>
</table>
{{>layouts/footer}}
정상적으로 표시된다
DB 와 연결하여 내용을 표시 하려면 확인용 코드를 다음과 같이 수정한다
{{#article}}
<tr>
<th>{{id}}</th>
<td>{{title}}</td>
<td>{{content}}</td>
</tr>
{{/article}}
entity > Article 에 롬복을 이용하여 기본 생성자를 만들어 준다
package com.example.firstproject.entity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.ToString;
@AllArgsConstructor
@NoArgsConstructor //기본생성자
@ToString
@Entity //엔티티 선언
public class Article {
@Id //엔티티의 대표값 지정
@GeneratedValue //자동 생성 기능 추가(숫자가 자동으로 매겨짐)
private Long id;
@Column //title 필드 선언 , DB 테이블의 title 열과 연결됨
private String title;
@Column //content 필드 선언, DB 테이블의 content 열과 연결
private String content;
}
articles/new 에 내용을 작성해보고 articles/1 로 접속을해보면
오.. 출력된다 굿굿
'Java' 카테고리의 다른 글
SpringBoot 공부 - 게시판 내 페이지 이동 (0) | 2023.04.27 |
---|---|
SpringBoot 공부 - CRUD (Read - 2) (0) | 2023.04.26 |
SpringBoot 에서 lombok 사용하기 (0) | 2023.04.25 |
SpringBoot 공부 - DB 조회하기 (0) | 2023.04.25 |
SpringBoot 공부 - DTO -> DB (0) | 2023.04.25 |