1、在 eclipse 里面新建一个 JPA 项目。
2、加入依赖的 jar 包
(1)hibernate hibernate-release-4.3.6.Final\lib\required 下所有的包;
(2)hibernate 的jpa 的依赖包一个: hibernate-entitymanager-4.3.6.Final.jar;
(3)mysql 驱动包:
3、编写 persistence.xml 文件
<?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="jpa-1" transaction-type="RESOURCE_LOCAL">
<!-- 配置使用什么 ORM 产品来作为 JPA 的实现
1、实际上配置的是 java.persistence.spi.PersistenceProvider
接口的实现类
2、若 JPA 项目中只有一个 JPA 的实现产品,则也可以不配置 -->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!-- 添加持久化类 -->
<class>com.liwei.entity.Customer</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql:///jpa" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="123456" />
<!-- 配置 JPA 实现产品的基本属性,配置 Hibernate 的基本属性 -->
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
</persistence>
4、编写实体类
注意实体类的类名、get 方法上的注解。
package com.liwei.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Table(name="JPA_CUSTOMER")
@Entity
public class Customer {
private Integer id;
private String lastName;
private String email;
private int age;
@Column(name="ID")
@GeneratedValue(strategy=GenerationType.AUTO)
@Id
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name="last_name")
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Customer(Integer id, String lastName, String email, int age) {
super();
this.id = id;
this.lastName = lastName;
this.email = email;
this.age = age;
}
public Customer() {
super();
}
@Override
public String toString() {
return "Customer [id=" + id + ", lastName=" + lastName + ", email="
+ email + ", age=" + age + "]";
}
}
5、编写一段测试代码
package com.liwei.jpa;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import com.liwei.entity.Customer;
public class HelloWorld {
public static void main(String[] args) {
// 1、创建 EntityManagerFactory
EntityManagerFactory entityManagerFactory =
Persistence.createEntityManagerFactory("jpa-1");
// 2、创建 EntityManager
EntityManager entityManager = entityManagerFactory.createEntityManager();
// 3、开启事务
EntityTransaction entityTransaction = entityManager.getTransaction();
entityTransaction.begin();
// 4、进行持久化操作
Customer customer = new Customer();
customer.setEmail("121088825@qq.com");
customer.setLastName("liwei");
customer.setAge(28);
entityManager.persist(customer);
// 5、提交事务
entityTransaction.commit();
// 6、关闭 EntityManager
entityManager.close();
// 7、关闭 EntityManagerFactory
entityManagerFactory.close();
}
}