1、三層架構 表現層 web層(MVC是一個表現層的設計模型) 業務層 service層 持久層 dao層2、三大框架和三層架構的關係(建議學習三大框架的順序:先學習hibernate在學習struts2框架,最後學習spring 框架) hibernate框架:它是一個持久層框架 struts2框 ...
1、三層架構
表現層 web層(MVC是一個表現層的設計模型)
業務層 service層
持久層 dao層
2、三大框架和三層架構的關係(建議學習三大框架的順序:先學習hibernate在學習struts2框架,最後學習spring 框架)
hibernate框架:它是一個持久層框架
struts2框架:它是一個表現層框架
spring框架:它是一個綜合類框架
hibernate只能操作資料庫(跟資料庫打交道)
3.現階段已經掌握的持久層技術
JDBC:它是操作資料庫最底層的方式。
優勢:底層,效率高。
弊端:編寫代碼時,比較繁瑣。尤其是封裝結果集。
DBUtils:它是基於JDBC,對JDBC進行了簡單的封裝。
優勢:封裝結果集的操作變得簡單。並且仍然是自己編寫sql語句,相對效率並沒有太大影響。
它用了池的思想管理連接。
弊端:要求實體類中屬性名稱和資料庫表的欄位名必須一致。
要我們記的東西也比較多。
他們的共同點:都要我們自己寫SQL語句。
4.hibernate的實現思想:
建立實體類和表之間的關係
使用配置文件。
配置文件的種類:
properties
xml
選擇properties還是xml呢?
使用XML。
因為XML可以描述層級關係
對應關係的配置文件示例:
<class name="類名" table="表名">
<id name="實體類屬性名稱" column="表中的主鍵欄位名">
<property name="屬性名" column="表中的欄位名"/>
</class>
insert into $tablename$($columnname$,$columnname$) values(product.getxxx,product.getxx)
5.ORM
Object Relational Mapping
對象關係映射
就是建立實體類和資料庫表的對應關係。
實現操作實體類對象就相當於操作資料庫表
6、hibernate
它是一個輕量級,企業級,開源的ORM持久層框架。是可以操作資料庫的框架。
框架:它就是一個架構。
通常情況下,軟體工程的持久層解決方案,一個為主一個為輔。兩者並存(寫SQL語句的和不寫SQL語句的)
輕量級:指的是使用時依賴的資源很少。(目前我們使用的階段,只依賴log4j,c3p0連接池)
企業級:指的是在企業級應用中使用的比較多
開源的:開放源代碼。
ORM的操作方式:建立對象關係映射,實現操作實體類就相當於操作資料庫表。
7.hibernate的常用對象
Configuration
SessionFactory
Session
Transaction
8使用hibernate實現增刪改查的實例:(使用eclipse編寫的目錄結構如下)
項目鏈接https://pan.baidu.com/s/1o7Ho7b-LUZf4VDwq_b683w
密碼:xl2d