一:首先开发JPA依赖的jar文件
二:JPA的配置文件
JPA规范要求在类路径的META-INF目录下放置persistence.xml,文件的名称是固定的
<persistence 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_1_0.xsd"
version="1.0">
<persistence-unit name="persistUnitName" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.username" value="root" />
<property name="hibernate.connection.password" value="ddd318718664" />
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/study?useUnicode=true&characterEncoding=UTF-8" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
</persistence-unit>
</persistence>
三:创建一个User.class,定义好需要持久化的类
package cn.zl.jpa.domain;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity//是指这个类映射有数据库表 javax.persistence.Entity 才可以移植
@Table(name="user")//数据表名字
public class User {
@Id
@GeneratedValue()//定义id增加策略
private int id;
private String name;
private Date birthday;
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 Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
四:初始化JPA,创建JpaUtil.java
package cn.zl.jpa;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public final class JpaUtil {
private static EntityManagerFactory emf;//实例管理工厂
//初始化emf
static{
//persistUnitName 与persistence.xml的persistence-unit name属性一致
emf=Persistence.createEntityManagerFactory("persistUnitName");
}
public static EntityManager getEntityManager()
{
return emf.createEntityManager();
}
}
五:测试是否正确:建立一个BaseTest.java
package cn.zl.jpa;
import java.util.Date;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import cn.zl.jpa.domain.User;
public class BaseTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
User user =new User();
user.setName("name");
user.setBirthday(new Date());
addUser(user);
}
static void addUser(User user){
EntityManager em=null;
EntityTransaction tx=null;
try{
em=JpaUtil.getEntityManager();//获取jpa
tx=em.getTransaction();//获取事务
tx.begin();//事务开始
em.persist(user);//执行持久化对象
tx.commit();//提交
}finally{
if(em!=null)
em.close();
}
}
}
运行后:
结束。源码下载:http://download.csdn.NET/detail/u013030488/9835319
包下载:http://download.csdn.net/detail/u013030488/9836680