首先这是现在最基本的分层方式,结合了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操作数据。