zoukankan      html  css  js  c++  java
  • 学习笔记dao,domain,service三层理解

    1.dao层操作单表,不涉及复杂逻辑,主要是表的增删改查操作,完全根据domain的要求来查询数据,会对每个要操作的数据库表定义一个dao,对具体的操作要定义一个类似函数说明。

        eg: UppCodeInfo findByCodeNo(String codeNo);JPA方式

    2.domain层考虑业务逻辑,例如过滤条件,放行或者返回,以及数据的处理,为调用dao层做好准备,一个domain可以调用一个或者一组相关的dao层.

        eg:@Entity
             @Table(name = "upp_code_info")
             public class UppCodeInfo {属性....对应数据库表中的字段,要在后面生成set(),get()方法}

    3.service层调用一个或者一组domain层,主要是展现需要开放出去的接口,其中domain层不是所有的接口都要再service层 体现的,可能仅在service层开放几个接口出去,此外,主要接口需要对接受的参数要尽量的扩大化,也就是说可以容纳各种类型的参数的接入 (Object),然后需要在service层做好转换,以备domain层使用。具体的逻辑实现在此层实现。即函数在该层实现。

    4.controller层,作用在于过滤参数、和部分加解密和简单的逻辑处理 ,或者对于页面数据的封装,你可以理解为一个入口而service只需要处理复杂业务。

    总结:

    底层数据库(具体数据的存储)——>dao(实现从表中读数据)——>domain(讲表与实体进行关联,进行实体的定义,set,get方法的定义)——>service(逻辑的实现,进行数据关联,方便底层取数据)——>controller(方便为前段提供数据)。

  • 相关阅读:
    如何对Web Part进行调试 cloud
    相见恨晚的68句话,来给大家分享分享……(转载) cloud
    基于python的邮件地址提取小程序
    php.ini 核心配置选项说明
    Snort2.8.1在Windows上的简单使用
    在Visual Studio 2008中编译snort2.8.6.1.tar.gz
    PyDev for Eclipse 简介
    Python中*和**的用法
    Python实现类似switch...case功能
    ubuntu安装mysql多实例
  • 原文地址:https://www.cnblogs.com/FightingMan/p/6193024.html
Copyright © 2011-2022 走看看