libro
www.tuyano.com
初心者のためのSpring Bootプログラミング入門

JPAでデータベースを使おう! (5/5)

作成:2014-06-28 10:59
更新:2014-06-28 10:59

■コントローラーを作成する

では、helo.jspを使ってページを表示するためのコントローラークラスを作成しましょう。下のリスト欄に掲載しておきます。今回も、前回まで使ったSampleControllerクラスをそのまま利用することにします。

できあがったら、mvn spring-boot:runでプロジェクトを実行し、 http://localhost:8080/helo にアクセスしてみましょう。ページが表示されます。といっても、まだMyDataには何のデータも用意されていませんから、MyDataの一覧は、単に [] とだけ表示されているだけですが……。では、コードの先斗をチェックしましょう。
@Autowired
MyDataRepository repository;
この@Autowiredは、指定したBeanのインスタンスをプロパティに自動設定するものです。これにより、このコントローラーが利用できるようになった時には、このrepositoryにインスタンスが自動設定され、使えるようになっています。
Iterable<MyData> list = repository.findAll();heloメソッドでは、MyDataRepositoryインスタンス内の「findAll」を呼び出して全MyDataインスタンスをIterableで取り出しています。データの取得は非常に簡単ですね。

……でも、よく考えてみましょう。MyDataRepositoryには、findAllなんてメソッドはありませんでしたね? それなのに、データの取得が行えるようになっていたのです。これが「リポジトリ」の力なのです。――え、「単に、JpaRepositoryに用意してあっただけだろう」って? まぁ、そうですが、実はそれだけではないんですね。

とりあえず、データベースを利用して動かす基本はこれでできました。では、次回はデータベースを実際に使い込んでいくことにしましょう。そうすればリポジトリがどんな力を持っているか、次第にわかってくるはずですよ。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

package com.tuyano.libro.bootapp;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class SampleController {
    
    @Autowired
    MyDataRepository repository;
    
    @RequestMapping("/helo")
    public String helo(Model model) {
        Iterable<MyData> list = repository.findAll();
        model.addAttribute("datas",list);
    return "helo";
    }

}

※関連コンテンツ

「初心者のためのSpring Bootプログラミング入門」に戻る