1. 程式人生 > >Hibernate 介紹與入門

Hibernate 介紹與入門

目錄

1.hibernate介紹

2.Hibernate3.6入門程式


1.hibernate介紹

問題:hibernate是什麼,它能做什麼?

hibernate冬眠Hibernate是一個開放原始碼的物件關係對映框架..它對JDBC進行了非常輕量級的物件封裝,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料應

  • 1.hihernate是一個開源框架
  • 2.對idbs進行封裝
  • 3.直接操作iava物件就可以操作資料庫中的表.
  • 4.hibernate是一個ORM對映框架

物件關係對映(英: object Relational Mapping,簡稱ORM,或o/RM,或o/R mapping)

 

類似hibernate這樣idbc的封裝框架還有哪些?

  • 1、 JPA Java Persistence API 通過註解描述物件與資料表對映關係、(只有介面規範).
  • 2、 Hibernate最流行ORM框架,通過物件-關係對映配置,可以完全脫離底層sQL . ibernate實現JPA規範
  • 3, MyBatis 本是apache的一個開源專案iBatis,支援普通SQL查詢,儲存過程和高階對映的優秀持久層框架(企業主流) MyBaits並不是完全ORM,需要在xml中配置SQL語句
  • 4. Apache DBUtils、 Spring JDBCTemplate

語句封裝程度Hibernate > MyBatis > Apache DBUtils、Spring JDBCTemplate

問題:為什麼使用hiernate?

  • Hibernate對JDBC訪問資料庫的程式碼做了封裝,大大簡化了資料訪問層繁瑣的重複性程式碼
  • Hibernate是一個基於idbc的主流持久化框架,是一個優秀的orm現.它太程度的i化7dao層編碼工作
  • Hibernate使用iava的反射機制不是碼增強程式類現透明性
  • Hibernate的效能非常好,因為它是一個輕量級框架射的靈活性很出色。它支援很多關係型資料庫,從一對一剎多對多的各種複雜
  • * Hibernate本身效能並不是很,在在很多優化手段(一級快取,二級快取,查詢快取抓取策略).

2.Hibernate3.6入門程式

1.匯入iar包

  • 1.hihernate核心jar包           hibernate3.jar
  • 2.hibdnate必須jar包            hibernate/lib/required目錄下 
  • 3.hibnernate的jpa實現         hibernate/lib/jpa目錄下
  • 4.日誌     log4j

 

企業java開發最主流日誌技術log4j

slf4j-api-1.6.1.jar      沒有日誌實現,只是介面,整合log4

匯入slf4j-log4j12-1.7.2.jar (slf4j對l0g4j}框架整合)

匯入log4j-1.2.16.jar (log4j的日誌jar包)

 

log4j是企業主流日誌技術,是Apache公司提供的

1)什麼是日誌技術,開發中為什麼要用日誌技術

日誌:在系統執行過程中,記錄關鍵資訊,記錄錯誤異常資訊的技術

  • 區分System.out和日誌技術
  • System.out向控制檯輸入資訊,一定輸出
  • 日誌技術存在級別,通過級別控制日誌是否輸出,輸出的詳細程度, 輸出的目的地 (控制檯、檔案、傳送郵件)

使用日誌:主要用於開發過程中除錯和專案上線後的維護(記錄bug)

2)使用10g4j通過配置檔案,配置日誌框架使用

src/log4j.xml

src/log4j.properties (簡單)

配置log4j.properties有三個元件

元件一:記錄器(Loggers) 用來配置日誌輸出級別,使用哪些輸出源格式:記錄器名=級別,輸出源1,輸出源2.

  • 一個記錄器指定多個輸出源
  • log4j.rootlogger-info, stdout                     info是日誌級別,                       stdout是輸出源名稱
  • log4j]提供日誌級別由高到低: fatal(致命錯誤), error(普通錯誤), warn(警告),info(資訊), debug(除錯), trace(堆疊)
  • log4j記錄日誌時,只會記錄配置級別更高級別的資訊

元件二:輸出源(Appenders) 在l0g4j中可以定義多個輸出源(控制檯、日誌檔案、郵件、資料庫)

  • log4j.appender.輸出源名稱=實現類
  • log4j.appender.stdout=org.apache.log4j.CconsoleAppender向控制檯輸出
  • log4j.appender.file-org.apache.log4j.FileAppender向檔案輸出

元件三:佈局(Layouts)在日誌中都記錄哪些資訊

  • log4j.appender.stdout.layout=org.apache.log4j.PatternLayout自定義佈局
  • log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE) %5p %c(1 }:%L-%m%n自定義佈局格式

3)、在程式中使用log4j記錄日誌

步驟一:定義記錄器

private static final Logger LOG=Logger.getLogger(Log4Jdemo.class);

步驟二:使用log4j提供每個級別方法記錄日誌

        LOG.fatal("致命錯誤");
        LOG.error("普通錯誤");
        LOG.warn("警告錯誤");
        LOG.info("普通錯誤");
        LOG.debug("除錯錯誤");
        LOG.trace("堆疊錯誤");