zoukankan      html  css  js  c++  java
  • 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操作数据。

  • 相关阅读:
    Scratch编程:初识Scratch及编程工具安装(一)
    关于少儿编程教育,这三大事项必须提前了解
    Scratch 少儿编程之旅(四)— Scratch入门动画《小猫捉蝴蝶》(中)
    操作系统:概述
    剑指offer:斐波那契数列
    剑指offer:旋转数组的最小数字
    剑指offer:用两个栈实现一个队列
    剑指offer:重建二叉树
    剑指offer:从尾到头打印链表
    剑指offer:替换空格
  • 原文地址:https://www.cnblogs.com/qinaidexin/p/4347037.html
Copyright © 2011-2022 走看看