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

model、dao、 service 和Comtroll层的关系的更多相关文章

  1. 一键生成 dao service serverImpl controller 层

    package com.nf147.policy_publishing_platform.util.auto; import java.io.File; import java.io.FileWrit ...

  2. model ,orm,dao,service,持久层 ,mvc 这些名词在java中的概念?

    这些概念不针对某个特定的编程语言. view层:结合control层,显示前台页面. control层:业务模块流程控制,调用service层接口. service层:业务操作实现类,调用dao层接口 ...

  3. 【Java 新建项目】使用程序对新项目的各个实体 创建Dao、DaoImpl、Service、ServiceImpl层的文件

    首先给出基本Dao层代码: GenericDao.java package com.agen.dao; import java.io.Serializable; import java.util.Co ...

  4. 【springmvc+mybatis项目实战】杰信商贸-5.生产厂家DAO+SERVICE+CONTROLLER+JSP+配置文件

    上一篇我们创建了工程和一个Factory的po对象(javaBean),我们也写好了Mapper的映射文件,接下来我们来完成生产厂家的DAO与SERVICE,以及CONTROLLER,还有做显示的JS ...

  5. 代码生成器实现的Entity,Dao,Service,Controller,JSP神器(含代码附件)

    package com.flong.codegenerator; import java.sql.Connection; import java.sql.DatabaseMetaData; impor ...

  6. SprinfJdbcTemplate+SpringMVC 代码生成器实现的Entity,Dao,Service,Controller,JSP神器(含代码附件)

    代码生成器实现的Entity,Dao,Service,Controller,JSP神器(含代码附件) 原文地址: http://jilongliang.iteye.com/blog/2262070 p ...

  7. mybatis generator.xml 配置 自动生成model,dao,mapping

    generator.xml文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE gener ...

  8. 由浅入深:CNN中卷积层与转置卷积层的关系

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由forrestlin发表于云+社区专栏 导语:转置卷积层(Transpose Convolution Layer)又称反卷积层或分数卷 ...

  9. DAO,Service,Controller各层之间的关系

    DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口 ...

随机推荐

  1. iOS 将系统文字设置为中文

    在.info文件中添加  Localization native development region 键值 string   Value值:en

  2. (重要) html概念之 input:name与id详解

    实例: 带有两个文本字段和一个提交按钮的 HTML 表单: <form action="form_action.asp" method="get"> ...

  3. linux学习笔记之系统标准:POSIX,ISO C...

    一.POSIX,ISO C,Single UNIX Specification的概念. 1,POSIX:Portable Operating System Interface.可移植操作系统接口.期望 ...

  4. c++网络通信(与服务器通信聊天)和c#网络通信

    c++网络通信(有待整理) 链接:http://pan.baidu.com/s/1i3nMLKT 密码:ksi8 c#网络通信(tcp/udp两部分) TCP发送端: using System; us ...

  5. js压缩解压工具

    参看下面链接:http://js.clicki.cc/

  6. C期未考试参考答案题1

    输入一个3行5列的矩阵数据,输出矩阵中每行最大值. 输入描述 输入3行5列共15个整数. 输出描述 输出每行的最大值.每个最大值占一行 #include<stdio.h>#include& ...

  7. ckeditor 使用手册

    CKEditor使用手册 在使用CKEditor过程中遇到了一些问题,现把它整理成手册,以便随时翻阅. 在页面<head>中引入ckeditor核心文件ckeditor.js <sc ...

  8. AngularJS 不得不了解的服务 $compile 用于动态显示html内容

    项目中一度纠结与AngularJS如何动态显示不同的html内容. 本来是希望直接使用下面的语句来实现: <div> </div> 但是很尴尬的是,这样不能识别出html标签, ...

  9. 理解Window和WindowManger

    一.Window简介 作用:桌面上显示一个类似悬浮的东西. 介绍:Window是一个抽象类,实现是由PhoneWindow.WindowManager是外界访问Window的入口.但是最终实现是在Wi ...

  10. Avoid The Lakes--poj3620

    Avoid The Lakes Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7023   Accepted: 3735 D ...