データベースの利用 (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();
}
}
}
※関連コンテンツ