麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

java框架篇---hibernate入門

2019-11-14 23:44:09
字體:
來源:轉載
供稿:網友
java框架篇---hibernate入門

Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/jsp的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。

流程圖:

核心接口

Hibernate的核心接口一共有6個,分別為:session、SessionFactory、Transaction、Query、Criteria和Configuration。這6個核心接口在任何開發中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。下面對這6個核心接口分別加以介紹。

SessionSession接口負責執行被持久化對象的CRUD操作(CRUD的任務是完成與數據庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應用中的HttpSession。這里當使用session這個術語時,其實指的是Hibernate中的session,而以后會將HttpSession對象稱為用戶session。SessionFactorySessionFactory接口負責初始化Hibernate。它充當數據存儲源的代理,并負責創建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當需要操作多個數據庫時,可以為每個數據庫指定一個SessionFactory。TransactionTransaction 接口是一個可選的API,可以選擇不使用這個接口,取而代之的是Hibernate 的設計者自己寫的底層事務處理代碼。 Transaction 接口是對實際事務實現的一個抽象,這些實現包括JDBC的事務、JTA 中的UserTransaction、甚至可以是CORBA 事務。之所以這樣設計是能讓開發者能夠使用一個統一事務的操作界面,使得自己的項目可以在不同的環境和容器之間方便地移植。QueryQuery接口讓你方便地對數據庫及持久對象進行查詢,它可以有兩種表達方式:HQL語言或本地數據庫的SQL語句。Query經常被用來綁定查詢參數、限制查詢記錄數量,并最終執行查詢操作。CriteriaCriteria接口與Query接口非常類似,允許創建并執行面向對象的標準化查詢。值得注意的是Criteria接口也是輕量級的,它不能在Session之外使用。ConfigurationConfiguration 接口的作用是對Hibernate 進行配置,以及對它進行啟動。在Hibernate 的啟動過程中,Configuration 類的實例首先定位映射文檔的位置,讀取這些配置,然后創建一個SessionFactory對象。雖然Configuration 接口在整個Hibernate 項目中只扮演著一個很小的角色,但它是啟動hibernate 時所遇到的每一個對象。hibernate的優點
  • Hibernate會處理映射的Java類來使用xml文件,數據庫表和無需編寫任何一行代碼。

  • 提供了簡單的API,用于直接從數據庫中存儲和檢索Java對象。

  • 如果有變化,數據庫或任何表中的那么只需要修改XML文件的屬性。

  • 抽象掉不熟悉的SQL類型,并提供我們解決熟悉的Java對象。

  • Hibernate不要求應用服務器進行操作。

  • 操縱數據庫對象的復雜關聯。

  • 盡量減少與智能讀取策略數據庫的訪問。

  • 提供數據的簡單查詢。

hibernate配置

先下載hibernate所需包,我下載的是hibernate-distribution-3.6.4.Final,解壓縮下載的文件,目錄結構如下所示。

然后將lib中的包拷貝到項目中即可。

同時也可以使用myeclipse直接加載hibernate框架。

配置文件hibernate.cfg.xml

<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools.                   --><hibernate-configuration>    <session-factory>        <PRoperty name="dialect">            org.hibernate.dialect.MySQLDialect        </property>        <property name="connection.url">            jdbc:mysql://127.0.0.1:3306/java_web        </property>        <property name="connection.username">root</property>        <property name="connection.passWord">root</property>        <property name="connection.driver_class">            com.mysql.jdbc.Driver        </property>        <property name="myeclipse.connection.profile">Test</property>        <property name="hbm2ddl.auto">update</property>        <property name="hibernate.connection.autocommit">true</property>        <property name="show_sql">true</property>        <property name="defaultAutoCommit">true</property>        <property name="maxActive">10000</property>        <property name="maxIdle">50</property>        <property name="maxWait">3000</property>        <property name="initialSize">10</property>        <property name="minIdle">20</property>        <property name="dialect">            org.hibernate.dialect.MySQLDialect        </property>    </session-factory></hibernate-configuration>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久免费精品 | 久久精品99久久久久久2456 | 久久精品视频一区 | 国产91久久精品一区二区 | 日韩精品一区二 | 久久久久久久久成人 | 久久亚洲精品久久国产一区二区 | av在线免费看网站 | 一级黄色大片在线观看 | 91网址在线播放 | 超碰97最新 | 一级电影免费在线观看 | 欧美一级片网站 | 久久精品伊人网 | www.99re14.com | 亚洲精品成人18久久久久 | 国产激爽大片在线播放 | 国产成人精品二区 | 日本欧美一区二区三区在线播 | 香蕉成人在线视频 | 欧美视频一区二区三区 | 国产精品视频一区二区噜噜 | 国产精品免费视频观看 | 国产精品久久久久久久娇妻 | www.mitao | 狠狠操天天射 | 欧美成人精品欧美一级乱黄 | 久久色网站 | 国产一区精品在线观看 | 国产色爱综合网 | 中文区中文字幕免费看 | 久久国产精品二国产精品 | 久久色网站 | 欧美成人免费小视频 | 久久国产一级 | 国产精品视频成人 | 久久资源总站 | 免费黄色大片在线观看 | 天天舔天天插 | 叉逼视频| 九九精品视频观看 |