国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

淺析java程序中hibernate的應用總結

2019-11-26 16:01:36
字體:
來源:轉載
供稿:網友

我們知道如果用java連接數據庫,大量的SQL代碼,我們就想通過一種工具來操作數據庫,
我們首先想到的就是JDBC,但是想更好的針對類的屬性進行操作,我們會選擇Hibernate。

那么Hibernate 原理是什么呢?
hibernate可以理解為是一個中間件它負責把java程序的sql語句接收過來發送到數據庫,
而數據庫返回來的信息hibernate接收之后直接生成一個對象傳給java。

一  首先我們先了解一下hibernate的工作7個流程:
1.讀取并解析配置文件  
2.創建SessionFactory
3.打開Session
4.開始一個事物
5.持久化操作
6.提交事務
7.關閉Session

二 接著我們要理解實體對象的生命周期是Hibernate 的三種狀態
瞬時狀態(Transient)
剛用new語句創建,還沒有被持久化,且不處于Session的緩存中
持久狀態(Persistent)
已經被持久化,且加入到Session的緩存中
游離狀態(Detached)
已經被持久化,但不再處于Session的緩存中

三  持久化和ORM也是Hibernate中需要理解的一部分。
持久化:數據模型(內存)《--》存儲模型(持久化設備),在Java中說持久化,通常指的是使用SQL將數據存儲在關系型數據庫中。
ORM是持久化的一種解決方案,主要是把對象模型和關系型數據庫關系模型映射起來,并且使用元數據對這些映射進行描述。

Hibernate中必須要搭建項目框架編寫hibernate配置文件、實體映射文件
創建項目并導入jar包
創建Hibernate配置文件  
用于配置數據庫連接
運行時所需的各種屬性

默認文件名為“hibernate.cfg.xml”
測試連接
使用Hibernate完成數據增刪改操作
1.創建實體類
2.創建和配置映射文件
3.主鍵映射
4.主鍵生成策略
5.在主配置文件中添加實體映射文件路徑
6.數據庫操作
7.單表增刪改查

四 Hibernate 支持兩種主要的查詢方式
(1)HQL(Hibernate Query Languge,Hibernate 查詢語言)
查詢
是一種面向對象的查詢語言,其中沒有表和字段的概念,只有類、對象和屬性的概念
HQL 是應用較為廣泛的方式。

(2) Criteria 查詢
又稱為“對象查詢”,它用面向對象的方式將構造查詢的過程做了封裝。

五 在運用Hibernate時,我們應該注意一些事情
(1)Hibernate是如何延遲加載?
    1.Hibernate延遲加載實現:a)實體對象 b)集合(Collection)
    2.Hibernate3提供了屬性的延遲加載功能
當Hibernate在查詢數據的時候,數據并沒有存在與內存中,當程序真正對數據的操作時,對象才存在與內存中,就實現了延遲加載,他節省了服務器的內存開銷,從而提高了服務器的性能。

(2)說下Hibernate的緩存機制
    1. 內部緩存存在Hibernate中又叫一級緩存,屬于應用事物級緩存
    2. 二級緩存: 
       a) 應用及緩存 
       b) 分布式緩存 
   條件:數據不會被第三方修改、數據大小在可接受范圍、數據更新頻率低、同一數據被系統頻繁使用、
        非關鍵數據 
       c) 第三方緩存的實現

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北安市| 襄城县| 宜昌市| 虹口区| 剑阁县| 万全县| 西贡区| 从化市| 兴化市| 久治县| 永顺县| 桂平市| 麦盖提县| 平顶山市| 麻江县| 白银市| 三门峡市| 桓台县| 漠河县| 南京市| 舟曲县| 天等县| 历史| 德兴市| 两当县| 武强县| 井研县| 隆德县| 玛沁县| 神木县| 康平县| 上栗县| 汉川市| 福州市| 新野县| 同江市| 沂水县| 勐海县| 彩票| 河池市| 北碚区|