一種化大爲小,分而治之的軟件開發方法。sql
1.每一層都有本身的責任。數據庫
2.上一層不用關心下一層的實現細節,上一層經過下一層 提供的對外接口來使用其功能。工具
3.上一層調用下一層的功能,下一層不能調用上一層的功能。測試
1.各層專一於本身功能的實現,便於提升質量。spa
2.便於分工協做,提升開發效率。接口
3.便於代碼的複用。開發
4.便於程序的擴展。it
每一個層次向外公開接口,可是隱藏內部細節。效率
下一層爲上一層服務,但不能上一層的服務擴展
分層結構中,不一樣層之間經過實體類傳輸數據
DAO位於業務邏輯和持久化數據之間,實現對持久化數據的訪問
主要由DAO接口、DAO實現類、實體類組成
數據庫鏈接和關閉工具類爲了代碼複用
每一層都有本身的職責
上一層調用下一層的功能,下一層不能調用上一層功能
便於提升開發質量、提升開發效率、便於代碼複用、便於程序擴展、便於下降代碼的耦合性。
分層時應堅持封裝性原則和順序訪問原則
不一樣層之間經過實體類傳輸數據
1.創建數據庫epet,建表
2.建立實體類,和相應的數據的表是對應的,類名:entity所屬包名是(com.beiwo.epet.entity);
3.建立Dao的基類接口類BaseDao,類名:.BaseDao所屬包名是:(com.beiwo.epet.dao.BaseDao);
4.建立Dao的實現類BaseDaoImpl,類名:BaseDaoImpl所屬包名是:(com.beiwo.epet.dao.impl.BaseDaoImpl);
5.建立具體表的Dao類,類名:PetDao所屬包名:(com.beiwo.epet.dao.PetDao);
6.建立具體表的Dao的實現類,類名:PetDaoMysqlImpl所屬包名(com.beiwo.epet.dao.impl.PetDaoMysqlImpl);
7.建立業務邏輯層的接口類,類名:PetService所屬包名(com.beiwo.epet.service.PetService);
8.建立業務邏輯層的接口實現類,類名:PetServieImpl所屬包名(com.beiwo.epet.service.impl.PetServieImpl);
9.建立測試類