Spring Data JPAの利用 (6/7)
作成:2015-07-25 08:37
更新:2015-07-25 08:37
更新:2015-07-25 08:37
■データベースを利用してみる
では、実際にデータベースを利用してみることにしましょう。com.tuyano.libro.dbパッケージに「App」クラスを作成し、下のリスト欄のようにソースコードを記述して下さい。
完成したら、実際にAppクラスを実行してみましょう。すると、以下のようにテキストが出力されることがわかるでしょう。
SampleEntity [id=1, name=tuyano, mail=syoda@tuyano.com]
SampleEntity [id=2, name=hanako, mail=hanako@flower]
SampleEntity [id=3, name=taro, mail=taro@yamada]
SampleEntity [id=4, name=sachiko, mail=sachico@happy]
...ok.
これは、ダミーとして用意したエンティティをデータベースから取得し表示しているのです。ここでは、ダミーデータを作成するためのmakeDummyDataメソッドと、取得したリストの内容を出力するprintListメソッドを用意しておきました。では、簡単に整理しましょう。
1. ApplicationContextの作成
2. EntityManagerFactoryインスタンスの取得
3. EntityManagerの作成
――これで、EntityManagerが用意できました。後は、これを使って、ダミーデータを保存したり、あるいは全エンティティをリストとして取り出したりしています。
とりあえず、今回は「データベース利用の基本」ということで、肝心のEntityManagerを取り出すところまでわかればOK、としましょう。具体的なデータベースアクセスは次回に説明する予定です。
完成したら、実際にAppクラスを実行してみましょう。すると、以下のようにテキストが出力されることがわかるでしょう。
SampleEntity [id=1, name=tuyano, mail=syoda@tuyano.com]
SampleEntity [id=2, name=hanako, mail=hanako@flower]
SampleEntity [id=3, name=taro, mail=taro@yamada]
SampleEntity [id=4, name=sachiko, mail=sachico@happy]
...ok.
これは、ダミーとして用意したエンティティをデータベースから取得し表示しているのです。ここでは、ダミーデータを作成するためのmakeDummyDataメソッドと、取得したリストの内容を出力するprintListメソッドを用意しておきました。では、簡単に整理しましょう。
1. ApplicationContextの作成
ApplicationContext app =まずは、いつものようにApplicationContextインスタンスを用意します。ここでは、dbbean.xmlをファイル指定しておきます。
new ClassPathXmlApplicationContext("dbbean.xml");
2. EntityManagerFactoryインスタンスの取得
EntityManagerFactory factory = app.getBean(EntityManagerFactory.class);Bean設定ファイルに用意しておいた、エンティティマネージャファクトリーのBeanを取得します。これは、EntityManagerFactoryクラスのclass値として引数を指定しおきます。
3. EntityManagerの作成
EntityManager manager = factory.createEntityManager();用意したEntityManagerFactoryから、EntityManagerを取得します。これはcreateEntityManagerというメソッドを呼び出すだけです。
――これで、EntityManagerが用意できました。後は、これを使って、ダミーデータを保存したり、あるいは全エンティティをリストとして取り出したりしています。
とりあえず、今回は「データベース利用の基本」ということで、肝心のEntityManagerを取り出すところまでわかればOK、としましょう。具体的なデータベースアクセスは次回に説明する予定です。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
package com.tuyano.libro.db; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.Query; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App { public static void main(String[] args) { ApplicationContext app = new ClassPathXmlApplicationContext("dbbean.xml"); EntityManagerFactory factory = app.getBean(EntityManagerFactory.class); EntityManager manager = factory.createEntityManager(); makeDummyData(manager); // get list Query query = manager.createQuery("from SampleEntity"); List list = query.getResultList(); printList(list); System.out.println("...ok."); } // create dummy entity data. public static void makeDummyData(EntityManager manager) { EntityTransaction transaction = manager.getTransaction(); transaction.begin(); manager.persist(new SampleEntity("tuyano", "syoda@tuyano.com")); manager.persist(new SampleEntity("hanako", "hanako@flower")); manager.persist(new SampleEntity("taro", "taro@yamada")); manager.persist(new SampleEntity("sachiko", "sachico@happy")); manager.flush(); transaction.commit(); } // print all entity. public static void printList(List list) { for (Object item : list) { System.out.println(item); } } }
※関連コンテンツ
「初心者のためのSpring Framework入門」に戻る