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操作数据。

你可能感兴趣的:(service)