Spring-Data-JPA概述

它是什麼

它是Spring基於ORM框架,JPA規範封裝的一套JPA應用框架.,可以使開發者使用極簡的代碼即可實現對數據的訪問和操作.它提供了包括增刪改查等在內的常用功能,易於擴展.

Spring-Data-JPA有什麼

提供的編成接口及其對應的用途
這裏寫圖片描述

繼承關係圖

這裏寫圖片描述

如何使用

首先,先創建好jpa的配置文件(以最初始的用persistence.xml文件的配置方式),如下:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
  <persistence-unit name="defaultPersistenceUnit"   ="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <properties>
      <!-- 使用MySQL方言 -->
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
      <!-- 數據庫連接的URL地址 -->
      <property name="hibernate.connection.url"
        value="jdbc:mysql://localhost:3306/spring"/>
      <!-- 數據庫連接的驅動 -->
      <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
      <!-- 數據庫連接的用戶名 -->
      <property name="hibernate.connection.username" value="root"/>
      <!-- 數據庫連接的密碼 -->
      <property name="hibernate.connection.password" value="314"/>
      <!-- 顯示SQL語句 -->
      <property name="hibernate.show_sql" value="true"/>

      <property name="hibernate.connection.useUnicode" value="true"/>
      <property name="hibernate.connection.characterEncoding" value="UTF-8"/>

      <!-- 在顯示SQL語句時格式化語句 -->
      <property name="hibernate.format_sql" value="true"/>
      <property name="hibernate.use_sql_comments" value="false"/>
      <!-- 自動輸出schema創建DDL語句 -->
      <property name="hibernate.hbm2ddl.auto" value="create"/>

      <!-- 數據庫連接超時後自動重連 -->
      <property name="hibernate.connection.autoReconnect" value="true"/>
      <property name="connection.autoReconnectForPools" value="true"/>
      <property name="connection.is-connection-validation-required" value="true"/>
    </properties>
  </persistence-unit>
</persistence>

配置完如上文件,剩下的,需要在Spring的配置文檔ApplicationContext.xml中加入如下:

<!--第一步-->
<!--定義要用到的包掃描路徑-->
    //這裏根據自己的實際情況來寫.

<!--第二步-->
<!--定義實體的工廠Bean,注意下方的UnitName不要寫錯,跟persistence.xml文檔裏定義要一樣.-->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="defaultPersistenceUnit"/>
    <property name="persistenceXmlLocation" value="classpath:persistence.xml">
</bean>

<!--第三步-->
<!--定義事務管理器-->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

<!--第四步-->
<!--定義Repository接口的存放目錄-->
<!--定義接口實現的後綴名,一般爲Impl-->
<!--定義實體工廠的引用-->
<!--定義實體管理器的引用-->
<jpa:repositories base-package="cn.edu.sdut.softlab.repository"
        repository-impl-postfix="Impl" 
        transaction-manager-ref="entityManagerFactory"  
        entity-manager-factory-ref="transactionManagerFactory"/>

<!--第五步-->
<!--聲明採用註解的方式申明事務-->
<tx:annotation-driven transaction-manager="transactionManager"/>

總結

如果在學Spring-Data-Jpa之前就學過jpa和Spring的人來說,理解起來挺容易的.暫時不懂也不要緊,多琢磨,凡事要循序漸進,希望以上的能對你有所幫助.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章