首先這是現在最基本的分層方式,結合了SSH架構。modle層就是對應的數據庫表的實體類。
Dao層是使用了Hibernate連接數據庫、操作數據庫(增刪改查)。
Service層:引用對應的Dao數據庫操作,在這里可以編寫自己需要的代碼(比如簡單的判斷)。
Action層:引用對應的Service層,在這里結合Struts的配置文件,跳轉到指定的頁面,當然也能接受頁面傳遞的請求數據,也可以做些計算處理。
以上的Hibernate,Struts,都需要注入到Spring的配置文件中,Spring把這些聯系起來,成為一個整體。
model層
實體類,也就是把數據庫表的字段映射為你的對象的各個屬性
如你A表有,id,name,password三個屬性
你Model里面新建A class
給他 ID,Name,Password三個屬性
然后做和數據表字段映射
LINQ TO SQL的時候就會自動讀取映射的字段並轉換為實體類的屬性值
附:代碼
import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import org.hibernate.annotations.GenericGenerator; @Entity @Table(name = "tab_adminuser") public class AdminUser { private Integer id; private String adminName; private String passwd; @Id @GeneratedValue(generator = "generator") @GenericGenerator(name = "generator", strategy = "native") public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Column(length = 200) public String getAdminName() { return adminName; } public void setAdminName(String adminName) { this.adminName = adminName; } @Column(length = 200) public String getPasswd() { return passwd; } public void setPasswd(String passwd) { this.passwd = passwd; } }
Dao層
new一個interface文件
public interface AdminUserDao { public void add(AdminUser user); }
Dao#Impl
new一個class,interface處add Dao文件
import org.hibernate.SessionFactory; public class AdminUserDaoImpl implements AdminUserDao { SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } public void add(AdminUser user) { sessionFactory.getCurrentSession().save(user); } }
Service 的創建和Dao一樣,ServiceImpl的創建和DaoImpl一樣
ServiceImpl如下:
public class AdminUserServiceImpl implements AdminUserService { AdminUserDao adminUserDao; public void setAdminUserDao(AdminUserDao adminUserDao) { this.adminUserDao = adminUserDao; } public void add(AdminUser user) { adminUserDao.add(user); } }
Controll聲明一個Service就后就可以調用Service中的方法,Service調Dao層,Dao操作數據。