標籤:技術 ble 表現層 table 資料庫 建議 設計模型 dao層 軟體工程
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
java 三大架構 hibernate部分知識