JpaRepositoryを利用する (6/8)
作成:2015-08-08 11:02
更新:2015-08-08 11:11
更新:2015-08-08 11:11
■リポジトリにメソッドを追加する
データベースのキモとなるのは、なんといっても「検索」です。必要に応じてデータを絞り込み自在に取り出せてこそ、データベースの威力が発揮できます。
それなのに、JpaRepositoryには、検索関係のメソッドは「findAll」しかありません。これでは使えない、なんて思ったかもしれませんね。が、JpaRepositoryの本当の威力は、検索にあるのです。インターフェイスに検索のためのメソッドを追加することで、どんどん必要な検索メソッドを用意できるのです。
実際にやってみましょう。下のリストを参考に、SampleEntityRepositoryインターフェイスを修正して下さい。ここでは、以下の2つの文を追加してあります。
単にメソッドの宣言文を書いているだけですが、注意して欲しいのはメソッド名です。これは、勝手に変更したりしないで下さい。必ず、ここにあげた通りの名前でメソッドの宣言を記述して下さい。これらのメソッド名には、意味があります。変更するとうまく機能しません。
それなのに、JpaRepositoryには、検索関係のメソッドは「findAll」しかありません。これでは使えない、なんて思ったかもしれませんね。が、JpaRepositoryの本当の威力は、検索にあるのです。インターフェイスに検索のためのメソッドを追加することで、どんどん必要な検索メソッドを用意できるのです。
実際にやってみましょう。下のリストを参考に、SampleEntityRepositoryインターフェイスを修正して下さい。ここでは、以下の2つの文を追加してあります。
public List<SampleEntity> findByNameLike(String name);1つ目の「findByNameLike」は、nameの値を使ってlike検索するためのものです。2つ目の「findByMailendingWith」は、mailの値が、指定したテキストで終わるものを検索します。
public List<SampleEntity> findByMailEndingWith(String mail);
単にメソッドの宣言文を書いているだけですが、注意して欲しいのはメソッド名です。これは、勝手に変更したりしないで下さい。必ず、ここにあげた通りの名前でメソッドの宣言を記述して下さい。これらのメソッド名には、意味があります。変更するとうまく機能しません。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | // ******************** // ※SampleEntityRepository.java // ******************** package com.tuyano.libro.db; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository public interface SampleEntityRepository extends JpaRepository <SampleEntity, Long> { public List<SampleEntity> findByNameLike(String name); public List<SampleEntity> findByMailEndingWith(String mail); } |
※関連コンテンツ
「初心者のためのSpring Framework入門」に戻る