CRUDの基本をマスターする (5/5)
作成:2015-08-01 08:48
更新:2015-08-01 08:48
更新:2015-08-01 08:48
■JPQLによるクエリー文の基本
これでCRUDの基本操作は行えるようになりました。が、ちょっと追記して置かなければいけないのは、基本中の基本である「Read」の部分でしょう。
先ほどのサンプルでは、すべてのエンティティを取り出すサンプルを挙げておきました。が、実際の処理では、もっと条件を細かく指定してエンティティを検索する必要があるでしょう。
エンティティの取得は、Queryというクラスを作成しました。これは、インスタンスを作成する際に「from SampleEntity」といった文を引数に用意していました。この文は、SQLのクエリー文と同じ働きをするもので、「JPQL」と呼ばれます。ただしSQLとは若干書き方が違います。とりあえず、エンティティの検索の基本的な書き方だけでもここで説明しておきましょう。
●JPQLの検索の基本
・IDが1のエンティティを取得
・IDが2より大きいエンティティを取得
また、テキストを検索する場合は、あいまい検索の「like」が使えます。%記号を使い、ワイルドカードの指定も行えます。
・nameが「K」ではじまるエンティティを取得
複数の条件式を設定したい場合は、「and」「or」が使えます。whereの後に、「式 and 式」といった具合に複数の式をand/orでつなげていきます。
・idが10以上20以下のエンティティを取得
――とりあえず、こうした基本的な検索の仕方がわかれば、初歩的なデータ検索の処理はだいたいできるようになるでしょう。実際にJPQLのクエリー文を書いて動かしてみると面白いですよ!
先ほどのサンプルでは、すべてのエンティティを取り出すサンプルを挙げておきました。が、実際の処理では、もっと条件を細かく指定してエンティティを検索する必要があるでしょう。
エンティティの取得は、Queryというクラスを作成しました。これは、インスタンスを作成する際に「from SampleEntity」といった文を引数に用意していました。この文は、SQLのクエリー文と同じ働きをするもので、「JPQL」と呼ばれます。ただしSQLとは若干書き方が違います。とりあえず、エンティティの検索の基本的な書き方だけでもここで説明しておきましょう。
●JPQLの検索の基本
from エンティティ where 条件式SQLでもおなじみのwhere節を使えば、基本的な検索はほぼ行うことができます。条件となる式は、等号などの比較演算子(=<>)を使って記述します。
・IDが1のエンティティを取得
from SampleEntity where id = 1
・IDが2より大きいエンティティを取得
from SampleEntity where id > 2
また、テキストを検索する場合は、あいまい検索の「like」が使えます。%記号を使い、ワイルドカードの指定も行えます。
・nameが「K」ではじまるエンティティを取得
from SampleEntity where name like 'K%'
複数の条件式を設定したい場合は、「and」「or」が使えます。whereの後に、「式 and 式」といった具合に複数の式をand/orでつなげていきます。
・idが10以上20以下のエンティティを取得
from SampleEntity where id >= 10 and id <= 20
――とりあえず、こうした基本的な検索の仕方がわかれば、初歩的なデータ検索の処理はだいたいできるようになるでしょう。実際にJPQLのクエリー文を書いて動かしてみると面白いですよ!
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ
「初心者のためのSpring Framework入門」に戻る