登录
首页 >  数据库 >  MySQL

使用JPA + Eclipselink操作PostgreSQL数据库

来源:SegmentFault

时间:2023-02-24 20:04:25 345浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《使用JPA + Eclipselink操作PostgreSQL数据库》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

首先确保您已经安装了PostgreSQL。您可以参考我这篇文章PostgreSQL扫盲教程

使用Eclipse创建一个新的JPA project:

Platform选择EclipseLink,作为JPA的provider之一。

在Eclipse里自动生成的project如下图所示:

用下列xml的内容覆盖自动生成的xml:

org.eclipse.persistence.jpa.PersistenceProviderjpatest.Person

新建一个Java class:

package jpatest;

import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@Table(name = "T_PERSON")
@NamedQuery(name = "AllPersons", query = "select p from Person p")
public class Person {
    @Id
    @GeneratedValue
    private long id;
    @Basic
    private String firstName;
    @Basic
    private String lastName;

    public long getId() {
        return id;
    }

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

    public String getFirstName() {
        return this.firstName;
    }

    public void setFirstName(String newFirstName) {
        this.firstName = newFirstName;
    }

    public String getLastName() {
        return this.lastName;
    }

    public void setLastName(String newLastName) {
        this.lastName = newLastName;
    }
}

现在可以写测试程序了:

package jpatest;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

public class Test {
public static void main(String[] args) {
        
        String persistenceUnitName = "jerryjpa";  
        EntityManagerFactory factory = Persistence.createEntityManagerFactory(persistenceUnitName);  
        EntityManager entityManager = factory.createEntityManager();  
        EntityTransaction transaction = entityManager.getTransaction();  
        transaction.begin();  
       
        Person user = new Person();  
        user.setFirstName("Jerry_SAP");
        user.setLastName("Wang");
        entityManager.persist(user);  
        
        transaction.commit();  
        entityManager.close();  
        factory.close();  
        
        System.out.println("done");
    }
}

成功执行后,在PostgreSQL的Admin UI上能看到测试Java程序里用JPA插入数据库的记录:

本文完整的源代码和所需的库文件可以在我的github上找到。

  • eclipselink-2.5.1.jar
  • javax.persistence-2.1.0.jar
  • postgresql-42.1.1.jar

今天带大家了解了MySQL、postgresql、数据库、eclipse、jpa的相关知识,希望对你有所帮助;关于数据库的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>