最近の更新

2016年12月19日月曜日

JPA2でUpdateする方法

【目的】
JPA2でテーブルからUpdateを行います。



【手順】
1.『Javaプロジェクトの作成方法』の手順で、Javaプロジェクトを作成。
2.『EclipseLink2.6.4をライブラリに設定する方法(Javaプロジェクト)』の手順で、プロジェクトにライブラリを追加。
3.『PostgreSQLのJDBC Driver(Version 9.1-902 JDBC 4)をライブラリに設定する方法』の手順で、JDBCドライバをライブラリに追加。
 ※バージョンはデータベースのバージョンに合わせる。
4.『Javaクラスファイルの作成方法』の手順で、『JpaSample003』というクラスを作成。
5.以下の様に入力。
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "JpaSample003")
public class JpaSample003 {
    @Id
    private int id;
    private String name;

    public JpaSample003() {
    }

    public JpaSample003(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "JpaSample003 [id=" + id + ", name=" + name + "]";
    }
}
6.『Javaクラスファイルの作成方法』の手順で、『Main』というクラスを作成。
7.以下の様に入力。
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

public class Main {
    public static void main(String[] args) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("JpaSample003");
        insert(emf);
        update(emf);
        select(emf);
    }

    private static void insert(EntityManagerFactory emf) {
        EntityManager em = emf.createEntityManager();
        EntityTransaction et = em.getTransaction();
        et.begin();
        JpaSample003 record = new JpaSample003(1, "あああ");
        em.persist(record);
        et.commit();
        em.close();
    }

    private static void update(EntityManagerFactory emf) {
        EntityManager em = emf.createEntityManager();
        EntityTransaction et = em.getTransaction();
        et.begin();
        JpaSample003 record = em.find(JpaSample003.class, 1);
        record.setName("いいい");
        et.commit();
        em.close();
    }

    private static void select(EntityManagerFactory emf) {
        EntityManager em = emf.createEntityManager();
        JpaSample003 record = em.find(JpaSample003.class, 1);
        System.out.println("SELECT結果:" + record);
        em.close();
    }
}
8.『任意のファイルの作成方法』の手順で、『persistence.xml』というファイルを作成。
9.以下の様に入力。
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="JpaSample003" transaction-type="RESOURCE_LOCAL">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <class>JpaSample003</class>
        <properties>
            <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://172.16.20.94:5432/jpa2db" />
            <property name="javax.persistence.jdbc.user" value="jpa2" />
            <property name="javax.persistence.jdbc.password" value="jpa2" />

            <property name="eclipselink.logging.level.sql" value="FINE"/>
            <property name="eclipselink.logging.parameters" value="true"/>

            <property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
        </properties>
    </persistence-unit>
</persistence>
10.『Javaプロジェクトの実行方法』の手順で、『Main.java』を実行。
11.以下の様に実行される。




12.『PSqlEditでSQLを実行する方法』の手順で、テーブルを確認し以下の様になっていれば成功です。































以上です。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

関連記事