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

xiaoxiao2021-02-28  76

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

转载请注明原文地址: https://www.6miu.com/read-53106.html

最新回复(0)