JPA学习记录二(搭建一个JPA+hibernate实例)

一:首先开发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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值