十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
刘宝宝讲解开始了。。。。。
创新互联专业为企业提供泰安网站建设、泰安做网站、泰安网站设计、泰安网站制作等企业网站建设、网页设计与制作、泰安企业网站模板建站服务,十载泰安做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
第一讲 JPA介绍
JPA
1.JPA的概念:
Java Persistence API:用于对象持久化的 API
Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层
2.JPA和hibernate的关系
从功能上来说, JPA 是 Hibernate 功能的一个子集
3.JPA的优势:
标准化: 提供相同的 API,这保证了基于JPA 开发的企业应用能够经过少量的修改就能够在不同的 JPA 框架下运行。
简单易用,集成方便: JPA 的主要目标之一就是提供更加简单的编程模型,在 JPA 框架下创建实体和创建 Java 类一样简单,只需要使用 javax.persistence.Entity 进行注释;JPA 的框架和接口也都非常简单,
可媲美JDBC的查询能力: JPA的查询语言是面向对象的,JPA定义了独特的JPQL,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。
支持面向对象的高级特性: JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,最大限度的使用面向对象的模型
4.JPA 包括 3方面的技术
ORM 映射元数据:JPA 支持 XML 和 JDK 5.0 注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中。
JPA 的 API:用来操作实体对象,执行CRUD操作,框架在后台完成所有的事情,开发者从繁琐的 JDBC和 SQL代码中解脱出来。
查询语言(JPQL):这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序和具体的 SQL 紧密耦合。
1.persistence.xml 文件是固定的
2.当spring和hibernate整合的时候,这个persistence.xml就可以不要了,也可以放着
3.persistence.xml
第二讲 JPA工程创建步骤
1.创建数据库名
2.创建一个jpa project 选择2.0
3.创建一个lib文件 add Build Path
antlr-2.7.7.jar
dom4j-1.6.1.jar
ehcache-core-2.4.3.jar
hibernate-commons-annotations-4.0.2.Final.jar
hibernate-core-4.2.4.Final.jar
hibernate-ehcache-4.2.4.Final.jar
hibernate-entitymanager-4.2.4.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
javassist-3.15.0-GA.jar
jboss-logging-3.1.0.GA.jar
jboss-transaction-api_1.1_spec-1.0.1.Final.jar
mysql-connector-java-5.1.7-bin.jar
slf4j-api-1.6.1.jar
4. persistence.xml
5.创建包名com.baidu.jpa
创建持久化类 、实体类
@Entity
@Table(name="表名")
@Id
@@GeneratedValue(strategy=GenerationType.AUTO)
6.去配置文件,添加持久化类
7.创建一个main方法类
//1.创建 EntitymanagerFactory
//persistenceUnitName 持久化单元名字
String persistenceUnitName = "jpa-1";
EntityManagerFactory emf = Persistence.createEntityManagerFactory(persistenceUnitName);
//2.创建 EntityManager
EntityManager em = emf.createEntityManager();
//3.开启事务
EntityTransaction et = em.getTransaction();
et.begin();
//4.进行持久化操作
Customer c = new Customer();
c.setAge(12);
c.setEmail("123@qq.com");
c.setLastName("张三");
em.persist(c); //保存
//5.提交事务
et.commit();
//6.关闭EntityManager
em.close();
//7.关闭EntityManagerFactory
emf.close();