一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

hibernate使用小結(jié)

 昵稱22369024 2015-05-03
  • hibernate適用情況

    在最近的項(xiàng)目開(kāi)發(fā)過(guò)程中,需要實(shí)現(xiàn)數(shù)據(jù)的持久化工作,原本打算在應(yīng)用程序和數(shù)據(jù)庫(kù)中中間增加一層數(shù)據(jù)持久層,使用Hibernate技術(shù)實(shí)現(xiàn)該功能。經(jīng)過(guò)測(cè)試發(fā)現(xiàn)hibernate操作數(shù)據(jù)庫(kù)的速度較慢,因此放棄的hibernate的使用。

    究竟是什么原因呢?分析hibernate源碼,未發(fā)現(xiàn)hibernate采用多線程異步操作數(shù)據(jù)庫(kù),雖然它也支持緩存管理(hibernate有兩級(jí)緩存結(jié)構(gòu)),但在數(shù)據(jù)庫(kù)更新頻繁的環(huán)境下,有無(wú)緩存差別不大。當(dāng)然,如果程序要頻繁更新數(shù)據(jù)庫(kù)并且對(duì)性能要求比較高的話,采用hibernate不是一個(gè)十分妥當(dāng)?shù)慕鉀Q方案。如果對(duì)數(shù)據(jù)庫(kù)的操作大多數(shù)是查詢的話,采用hibernate應(yīng)該相當(dāng)不錯(cuò),在開(kāi)啟hibernate緩存的情況下,應(yīng)該對(duì)性能不會(huì)造成太大的影響。

  • hibernate使用中關(guān)鍵的類

Configuration

    Configuration 類負(fù)責(zé)讀取 Hibernate.cfg.xml 文件,管理Hibernate 的配置信息。Hibernate 運(yùn)行時(shí)需要獲取一些底層實(shí)現(xiàn)的基本信息,其中幾個(gè)關(guān)鍵屬性包括:

    數(shù)據(jù)庫(kù)URL

    數(shù)據(jù)庫(kù)用戶

    數(shù)據(jù)庫(kù)用戶密碼

    數(shù)據(jù)庫(kù)JDBC驅(qū)動(dòng)類

    數(shù)據(jù)庫(kù)dialect,用于對(duì)特定數(shù)據(jù)庫(kù)提供支持,其中包含了針對(duì)特定數(shù)據(jù)庫(kù)特性的實(shí)現(xiàn),如Hibernate數(shù)據(jù)類型到特定數(shù)據(jù)庫(kù)數(shù)據(jù)類型的映射等。

SessionFactory

    SessionFactory負(fù)責(zé)創(chuàng)建Session實(shí)例。可以通過(guò)Configuation 實(shí)例構(gòu)建SessionFactory。

Session

    Session是持久層操作的基礎(chǔ),相當(dāng)于JDBC中的Connection。Session實(shí)例通過(guò)SessionFactory實(shí)例構(gòu)建。

Query

   用來(lái)執(zhí)行查詢操作。通常由Session類來(lái)構(gòu)建。

Transaction

    每次對(duì)數(shù)據(jù)庫(kù)的操作都可以看作是一次事務(wù)。

    事務(wù)通常由session使用session.beginTransaction()方法構(gòu)建。事務(wù)結(jié)束要使用commit()方法提交,如果出錯(cuò)可以使用rollback()方法回滾。

  • 使用步驟

    1.創(chuàng)建數(shù)據(jù)庫(kù)

      創(chuàng)建javabean

      創(chuàng)建配置文件Hibernate.cfg.xml和類名.hbm.xml

    2.根據(jù)hibernate配置文件完成初始化,并獲得一個(gè)Configuration類的實(shí)例。

      Configuration config = new Configuration().configure();

    3.然后根據(jù)該實(shí)例構(gòu)建一個(gè)SessionFactory的實(shí)例.

      SessionFactory sessionFactory = config.buildSessionFactory();

    4.根據(jù) SessionFactory的實(shí)例構(gòu)建一個(gè)Session的實(shí)例

      Session session = sessionFactory.openSession();

    5.調(diào)用Session所提供的save、find、load 、flush等方法完成持久層操作;

      也可以通過(guò)session.createQuery方法創(chuàng)建Query一個(gè)實(shí)例來(lái)執(zhí)行查找操作。

  • 配置Hibernate.cfg.xml一個(gè)典型的配置文件(Hibernate.cfg.xml),下面配置文件中的注釋應(yīng)該已經(jīng)比較清楚:<?xml version="1.0" encoding="UTF-8" ?><hibernate-configuration>    <!-- SessionFactory 配置 -->    <session-factory>    <!-- 數(shù)據(jù)庫(kù)URL -->    <property name="hibernate.connection.url">    jdbc:oracle:thin:@10.172.10.39:1521:ora92    </property>    <!-- 數(shù)據(jù)庫(kù)JDBC驅(qū)動(dòng) -->    <property name="hibernate.connection.driver_class">    oracle.jdbc.driver.OracleDriver    </property>    <!-- 數(shù)據(jù)庫(kù)用戶名 -->    <property name="hibernate.connection.username">icor</property>    <!-- 數(shù)據(jù)庫(kù)用戶密碼 -->    <property name="hibernate.connection.password">icor01</property>    <!--dialect ,每個(gè)數(shù)據(jù)庫(kù)都有其對(duì)應(yīng)的Dialet以匹配其平臺(tái)特性 -->    <property name="dialect">    net.sf.hibernate.dialect.OracleDialect    </property>    <!-- 是否將運(yùn)行期生成的SQL輸出到日志以供調(diào)試 -->    <property name="hibernate.show_sql">True</property>    <!-- 事務(wù)管理類型,這里我們使用JDBC Transaction -->    <property name="hibernate.transaction.factory_class">    net.sf.hibernate.transaction.JDBCTransactionFactory    </property>    <!--映射文件配置,使用相對(duì)路徑 -->    <mapping resource="conf/UserInfo.hbm.xml" />    <mapping resource="conf/IcorInfo.hbm.xml" />    </session-factory></hibernate-configuration>

    先寫到這,后續(xù)跟新。。。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    高清不卡视频在线观看| 亚洲中文在线观看小视频| 国产成人在线一区二区三区| 亚洲综合精品天堂夜夜| 国产成人在线一区二区三区| 婷婷一区二区三区四区| 噜噜中文字幕一区二区| 日韩不卡一区二区三区色图| 精品国模一区二区三区欧美| 成人国产一区二区三区精品麻豆| 美女激情免费在线观看| 九九热这里只有精品哦| 99久只有精品免费视频播放| 狠狠亚洲丁香综合久久| 欧美偷拍一区二区三区四区| 午夜精品久久久99热连载| 久久精品福利在线观看| 国产精品美女午夜福利| 国产水滴盗摄一区二区| 欧美精品久久男人的天堂| 国产欧美日产久久婷婷| 日韩在线免费看中文字幕| 黄色激情视频中文字幕| 日韩欧美一区二区久久婷婷| 亚洲国产综合久久天堂| 天海翼精品久久中文字幕| 亚洲一区二区三区福利视频| 久久国产精品熟女一区二区三区| 国产免费无遮挡精品视频| 欧美综合色婷婷欧美激情| 亚洲中文字幕日韩在线| 欧美一区二区三区五月婷婷| 91欧美日韩国产在线观看 | 极品熟女一区二区三区| 日本91在线观看视频| 国产熟女高清一区二区| 色丁香之五月婷婷开心| 国产亚洲精品俞拍视频福利区| 日韩一区中文免费视频| 日韩精品毛片视频免费看| 老司机精品在线你懂的|