JPAでデータベースを使おう! (5/5)
作成:2014-06-28 10:59
更新:2014-06-28 10:59
更新:2014-06-28 10:59
■コントローラーを作成する
では、helo.jspを使ってページを表示するためのコントローラークラスを作成しましょう。下のリスト欄に掲載しておきます。今回も、前回まで使ったSampleControllerクラスをそのまま利用することにします。
できあがったら、mvn spring-boot:runでプロジェクトを実行し、 http://localhost:8080/helo にアクセスしてみましょう。ページが表示されます。といっても、まだMyDataには何のデータも用意されていませんから、MyDataの一覧は、単に [] とだけ表示されているだけですが……。では、コードの先斗をチェックしましょう。
Iterable<MyData> list = repository.findAll();heloメソッドでは、MyDataRepositoryインスタンス内の「findAll」を呼び出して全MyDataインスタンスをIterableで取り出しています。データの取得は非常に簡単ですね。
……でも、よく考えてみましょう。MyDataRepositoryには、findAllなんてメソッドはありませんでしたね? それなのに、データの取得が行えるようになっていたのです。これが「リポジトリ」の力なのです。――え、「単に、JpaRepositoryに用意してあっただけだろう」って? まぁ、そうですが、実はそれだけではないんですね。
とりあえず、データベースを利用して動かす基本はこれでできました。では、次回はデータベースを実際に使い込んでいくことにしましょう。そうすればリポジトリがどんな力を持っているか、次第にわかってくるはずですよ。
できあがったら、mvn spring-boot:runでプロジェクトを実行し、 http://localhost:8080/helo にアクセスしてみましょう。ページが表示されます。といっても、まだMyDataには何のデータも用意されていませんから、MyDataの一覧は、単に [] とだけ表示されているだけですが……。では、コードの先斗をチェックしましょう。
@Autowiredこの@Autowiredは、指定したBeanのインスタンスをプロパティに自動設定するものです。これにより、このコントローラーが利用できるようになった時には、このrepositoryにインスタンスが自動設定され、使えるようになっています。
MyDataRepository repository;
Iterable<MyData> list = repository.findAll();heloメソッドでは、MyDataRepositoryインスタンス内の「findAll」を呼び出して全MyDataインスタンスをIterableで取り出しています。データの取得は非常に簡単ですね。
……でも、よく考えてみましょう。MyDataRepositoryには、findAllなんてメソッドはありませんでしたね? それなのに、データの取得が行えるようになっていたのです。これが「リポジトリ」の力なのです。――え、「単に、JpaRepositoryに用意してあっただけだろう」って? まぁ、そうですが、実はそれだけではないんですね。
とりあえず、データベースを利用して動かす基本はこれでできました。では、次回はデータベースを実際に使い込んでいくことにしましょう。そうすればリポジトリがどんな力を持っているか、次第にわかってくるはずですよ。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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プログラミング入門」に戻る