劉寶寶講解開始了。。。。。
創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,先為東區(qū)等服務(wù)建站,東區(qū)等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為東區(qū)企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。第一講 JPA介紹
JPA
1.JPA的概念:
Java Persistence API:用于對象持久化的 API
Java EE 5.0 平臺標(biāo)準(zhǔn)的 ORM 規(guī)范,使得應(yīng)用程序以統(tǒng)一的方式訪問持久層
2.JPA和hibernate的關(guān)系
從功能上來說, JPA 是 Hibernate 功能的一個子集
3.JPA的優(yōu)勢:
標(biāo)準(zhǔn)化: 提供相同的 API,這保證了基于JPA 開發(fā)的企業(yè)應(yīng)用能夠經(jīng)過少量的修改就能夠在不同的 JPA 框架下運行。
簡單易用,集成方便: JPA 的主要目標(biāo)之一就是提供更加簡單的編程模型,在 JPA 框架下創(chuàng)建實體和創(chuàng)建 Java 類一樣簡單,只需要使用 javax.persistence.Entity 進行注釋;JPA 的框架和接口也都非常簡單,
可媲美JDBC的查詢能力: JPA的查詢語言是面向?qū)ο蟮?,JPA定義了獨特的JPQL,而且能夠支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能夠提供的高級查詢特性,甚至還能夠支持子查詢。
支持面向?qū)ο蟮母呒壧匦? JPA 中能夠支持面向?qū)ο蟮母呒壧匦?,如類之間的繼承、多態(tài)和類之間的復(fù)雜關(guān)系,大限度的使用面向?qū)ο蟮哪P?br />
4.JPA 包括 3方面的技術(shù)
ORM 映射元數(shù)據(jù):JPA 支持 XML 和 JDK 5.0 注解兩種元數(shù)據(jù)的形式,元數(shù)據(jù)描述對象和表之間的映射關(guān)系,框架據(jù)此將實體對象持久化到數(shù)據(jù)庫表中。
JPA 的 API:用來操作實體對象,執(zhí)行CRUD操作,框架在后臺完成所有的事情,開發(fā)者從繁瑣的 JDBC和 SQL代碼中解脫出來。
查詢語言(JPQL):這是持久化操作中很重要的一個方面,通過面向?qū)ο蠖敲嫦驍?shù)據(jù)庫的查詢語言查詢數(shù)據(jù),避免程序和具體的 SQL 緊密耦合。
1.persistence.xml 文件是固定的
2.當(dāng)spring和hibernate整合的時候,這個persistence.xml就可以不要了,也可以放著
3.persistence.xml
第二講 JPA工程創(chuàng)建步驟
1.創(chuàng)建數(shù)據(jù)庫名
2.創(chuàng)建一個jpa project 選擇2.0
3.創(chuàng)建一個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.創(chuàng)建包名com.baidu.jpa
創(chuàng)建持久化類 、實體類
@Entity
@Table(name="表名")
@Id
@@GeneratedValue(strategy=GenerationType.AUTO)
6.去配置文件,添加持久化類
7.創(chuàng)建一個main方法類
//1.創(chuàng)建 EntitymanagerFactory
//persistenceUnitName 持久化單元名字
String persistenceUnitName = "jpa-1";
EntityManagerFactory emf = Persistence.createEntityManagerFactory(persistenceUnitName);
//2.創(chuàng)建 EntityManager
EntityManager em = emf.createEntityManager();
//3.開啟事務(wù)
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.提交事務(wù)
et.commit();
//6.關(guān)閉EntityManager
em.close();
//7.關(guān)閉EntityManagerFactory
emf.close();
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。