spring boot #6

5656 ワード

Webページでのデータベースのデータの表示


  • ユーザーがデータを照会するには、DBのID形式でurlを入力します.

  • コントローラでパラメータurlで受信する場合は操作が必要です.
    @PathVariable

  • データベースのデータをコントローラにインポートする場合は、Repository...
    (DBをエンティティとして…)
    articleRepository.findById(id)
    データがない場合はNULLです.orElse(null)

  • ビューは、コントローラにentityをモデルに登録する場合にのみ使用できます.

  • ビューページでは、{#記事}領域で記事データを使用できます.
  • @GetMapping("/articles/{id}")
        public String show(@PathVariable Long id, Model model){
    
            log.info("id = "+ id);
    
            //1. 아이디로 데이터 가져오기
            Article articleEntity =  articleRepository.findById(id).orElse(null);
    
    
            //2. 가져온 데이터를 모델에 등록
            model.addAttribute("article",articleEntity);
    
    
            //3. 보여줄 페이지를 설정
            return "/articles/show";
        }
    //show.mustache
    
    {{>layout/header}}
    
    <table class="table">
        <thead>
        <tr>
            <th scope="col">ID</th>
            <th scope="col">Title</th>
            <th scope="col">Content</th>
        </tr>
        </thead>
        <tbody>
    
        {{#article}}
    
        <tr>
            <th>{{id}}</th>
            <td>{{title}}</td>
            <td>{{content}}</td>
        </tr>
    
        {{/article}}
    
        </tbody>
    </table>
    
    {{>layout/footer}}
    Article.JAvaにデバッガを生成するユーザーがいない可能性があり、エラーが発生します.
    添付ファイルを追加することで解決できます.
    @NoArgsConstructor
    //デバッガジェネレータのアシスタントの追加

    写真の出所:https://youtu.be/E0YO0XqpBIY