Hibernate 介紹與入門
目錄
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("堆疊錯誤");