首页 > 网站 > WEB开发 > 正文

model、dao、 service 和Comtroll层的关系

2024-04-27 14:11:54
字体:
来源:转载
供稿:网友

model、dao、 service 和Comtroll层的关系

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表