データベースの利用 (6/6)
作成:2017-10-14 15:20
更新:2017-10-14 15:20
更新:2017-10-14 15:20
■MyEntityを利用する
さあ、これでH2 + JPAでデータベースを利用する環境が整いました。実際に利用してみましょう。
下のリスト欄に簡単なサンプルを掲載しておきます。App.javaをこのように書き換えて下さい。そして、
このように実行して、パッケージ化とプログラムの実行を行いましょう。実行すると、コンソールに以下のようなテキストが出力されます。
ここでは、ダミーとして3つのエンティティを作成してデータベースに保存し、そして改めてデータベースからMyEntityを取得して内容を出力しています。とりあえずデータの読み書きがちゃんと行えていることは確認できるでしょう。
本連載はJPAの使い方を説明するためのものではないので、詳しい説明は省略しますが、これで「JPAを利用するプログラム」の基本的な作り方はわかったことでしょう。まずはデータベース当たりから始めて、少しずつ使えるライブラリの幅を広げていきましょう。
下のリスト欄に簡単なサンプルを掲載しておきます。App.javaをこのように書き換えて下さい。そして、
mvn packge
mvn exec:java
このように実行して、パッケージ化とプログラムの実行を行いましょう。実行すると、コンソールに以下のようなテキストが出力されます。
No,1 {
id: 1,
name: taro,
message: This is sample message!,
date: Fri Oct 13 21:28:11 JST 2017
}
No,2 {
id: 2,
name: hanako,
message: こんにちは!,
date: Fri Oct 13 21:28:11 JST 2017
}
No,3 {
id: 3,
name: sachiko,
message: これはテストだよ。,
date: Fri Oct 13 21:28:11 JST 2017
}
-- total: 3 data.
ここでは、ダミーとして3つのエンティティを作成してデータベースに保存し、そして改めてデータベースからMyEntityを取得して内容を出力しています。とりあえずデータの読み書きがちゃんと行えていることは確認できるでしょう。
本連載はJPAの使い方を説明するためのものではないので、詳しい説明は省略しますが、これで「JPAを利用するプログラム」の基本的な作り方はわかったことでしょう。まずはデータベース当たりから始めて、少しずつ使えるライブラリの幅を広げていきましょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
package com.tuyano.libro; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query; public class App { private static EntityManagerFactory factory = Persistence.createEntityManagerFactory("sample-persistance"); public static void main( String[] args ){ EntityManager manager = factory.createEntityManager(); try { manager.getTransaction().begin(); manager.persist(new MyEntity("taro", "This is sample message!")); manager.persist(new MyEntity("hanako", "こんにちは!")); manager.persist(new MyEntity("sachiko", "これはテストだよ。")); manager.getTransaction().commit(); Query query = manager.createQuery("select i from MyEntity i"); List<MyEntity> list = query.getResultList(); int count = 0; for (MyEntity p : list) { System.out.print("No," + ++count + " "); System.out.println(p); } System.out.println(" -- total: " + list.size() + " data."); } finally { manager.close(); } } }
※関連コンテンツ