JPA简单实例

1、JPA

JPA(Java持久性API)是存储业务实体关联的实体的来源。它显示了如何定义一个面向普通Java对象(POJO)作为一个实体,以及如何管理关系实体。

2、安装JPA

(1)创建一个新的JPA项目,首先选择File->New->JPA Project。

(2)输入项目名称JPA01,选择Target runtime jre7如下。


(3)点击下载库(如果没有库)中的用户库部分,在下载库对话框中选择EclipseLink库的最新版本,点击下一步。然后接受许可条款,单击Finish。下载后,选择用户库部分中的下载库,然后单击Finish完成操作。







3、简单实例

(1)目录结构


(2)persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
	<persistence-unit name="JPA01" transaction-type="RESOURCE_LOCAL">
		<class>cn.hwd.jpa.entity.Employee</class>
		<properties>
        	<property name="javax.persistence.jdbc.url"
				value="jdbc:mysql://localhost:3306/hwd"/>
           	<property name="javax.persistence.jdbc.user" value="root"/>
         	<property name="javax.persistence.jdbc.password" value="mysql"/>
          	<property name="javax.persistence.jdbc.driver"
            	value="com.mysql.jdbc.Driver"/>
           	<property name="eclipselink.logging.level" value="FINE"/>
          	<property name="eclipselink.ddl-generation" 
   	        	value="create-tables"/>
       </properties>
	</persistence-unit>
</persistence>

(3)Employee.java

package cn.hwd.jpa.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table
public class Employee {

	@Id
	@GeneratedValue(strategy= GenerationType.AUTO)
	private int id;
	private String name;
	private double salary;
	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;
	}
	public double getSalary() {
		return salary;
	}
	public void setSalary(double salary) {
		this.salary = salary;
	}
	public Employee() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Employee(int id, String name, double salary) {
		super();
		this.id = id;
		this.name = name;
		this.salary = salary;
	}
	@Override
	public String toString() {
		return "Employee [id=" + id + ", name=" + name + ", salary=" + salary
				+ "]";
	}
}

(4)EmployeeServiceTest.java

package cn.hwd.jpa.test;

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

import org.junit.Test;

import cn.hwd.jpa.entity.Employee;

public class EmployeeServiceTest {

	@Test
	public void createEmployee() {
		EntityManagerFactory emfactory = Persistence.createEntityManagerFactory("JPA01");
	   	EntityManager entitymanager = emfactory.createEntityManager();
	   	entitymanager.getTransaction().begin();
	   	
	   	Employee employee = new Employee(); 
	   	employee.setId(1);
	   	employee.setName("Jerry");
	   	employee.setSalary(6999);
	   	entitymanager.persist(employee);
	   	entitymanager.getTransaction().commit();
	   	
	   	entitymanager.close();
	   	emfactory.close();
	}
	
	@Test
	public void deleteEmployee() {
		EntityManagerFactory emfactory = Persistence.createEntityManagerFactory("JPA01");
	   	EntityManager entitymanager = emfactory.createEntityManager();
	   	entitymanager.getTransaction().begin();
	   	
	   	Employee employee=entitymanager.find(Employee.class, 1);
	   	entitymanager.remove(employee);
	   	entitymanager.getTransaction().commit();
	   	
	   	entitymanager.close();
	   	emfactory.close();
	}
	
	@Test
	public void findEmployee() {
		EntityManagerFactory emfactory = Persistence.createEntityManagerFactory("JPA01");
	   	EntityManager entitymanager = emfactory.createEntityManager();
	   	
	   	Employee employee=entitymanager.find(Employee.class, 1);
	   	System.out.println(employee);
	}
	
	@Test
	public void updateEmployee() {
		EntityManagerFactory emfactory = Persistence.createEntityManagerFactory("JPA01");
	   	EntityManager entitymanager = emfactory.createEntityManager();
	   	entitymanager.getTransaction().begin();
	   	
	   	Employee employee=entitymanager.find(Employee.class, 1);
	   	//before update
	   	System.out.println(employee);
	   	employee.setSalary(7200);
	   	entitymanager.getTransaction().commit();
	    //after update
	   	System.out.println(employee);
	   	
	   	entitymanager.close();
	   	emfactory.close();
	}

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值