首页 > 其他分享 >pojo层、dao层、service层、controller层的作用

pojo层、dao层、service层、controller层的作用

时间:2023-11-08 16:15:24浏览次数:49  
标签:service -- 数据库 dao pojo controller

分层解耦介绍

1.pojo层(model)

实体层 数据库在项目中的类
model是模型的意思,与entity、domain、pojo类似,是存放实体的类。
类中定义了多个类属性,并与数据库表的字段保持一致,一张表对应一个model类。
主要用于定义与数据库对象应的属性,提供get/set方法,tostring方法,有参无参构造函数。

2.dao层(mapper)

持久层,主要与数据库进行交互
又被成为mapper层,叫数据持久层,先设计接口,然后在配置文件中进行配置其实现的关联。
dao层会调用pojo层,dao中会定义实际使用到的方法,比如增删改查。
dao层的作用为访问数据库,向数据库发送sql语句,完成数据的增删改查任务。
dao层的数据源和数据库连接的参数都是在配置文件中进行配置的,配置文件一般在同层的xml文件夹中
数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作,比如数据通过hibernate插入到数据库中

3.service层(定义接口)

业务层,控制业务,Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务
service层调用dao层接口,接收dao层返回的数据,完成项目的基本功能设计。
完成功能的设计和dao层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。
service的impl是把mapper和service进行整合的文件 封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。

4.controller层(处理前台发送的请求)

控制层 控制业务逻辑
controller层负责具体的业务模块流程的控制,controller层负责前后端交互,接受前端请求,调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端。

5.业务逻辑

    controller-->service接口-->serviceImpl-->dao接口-->mapper.xml-->db
    在具体的项目中,其流程为:Controller层调用Service层的方法,Service层调用Dao层中的方法,其中调用的参数是使用Pojo层进行传递的。总的来说这样每层做什么的分类只是为了使业务逻辑更加清晰,写代码更加方便,所以有时候也需要根据具体情况来,但是大体的都是这样处理的,因为它其实就是提供一种规则,让你把相同类型的代码放在一起,这样就形成了层次,从而达到分层解耦、复用、便于测试和维护的目的。

原文链接:pojo层、dao层、service层、controller层的作用

标签:service,--,数据库,dao,pojo,controller
From: https://www.cnblogs.com/trmbh12/p/17817617.html

相关文章

  • Adding empty space into SQL Server Reporting Services
    REF:http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1400080&SiteID=1(1)Ratherthaninsertingspaces,canyouadjustthepaddingpropertyonthetextbox?Ifyougoalistohavethefieldindented,thatshouldwork.(2)Anyreasonyoucouldn'......
  • How to grant permissions to a custom assembly that is referenced in a report in
    Ref:http://support.microsoft.com/kb/842419/en-us HowtograntpermissionstoacustomassemblythatisreferencedinareportinReportingServicesViewproductsthatthisarticleappliesto.ArticleID:842419LastReview:April3,2007Revision:2.1OnThisPa......
  • .net core webapi Startup services.AddHttpClient
    staticpublicclassCreditScoreServiceExtension{staticpublicvoidAddCreditScoreQueryServiceHttpClient(thisIServiceCollectionservices,IConfigurationconfig){services.AddSingleton<ICreditScoreQueryService,CreditS......
  • ServiceAccount ClusterRole ClusterRoleBinding
    RoleBinding的作用是把ServiceAccount绑定到Role上,Role规定了可以对资源做的操作,把ServiceAccount绑定到Role上就表示拿到这个ServiceAccount的程序就有了权限对资源做这些操作。当然,有ClusterRole和ClusterRoleBinding,ClusterRole可以在包括所有NameSpce和集群级别的资源或非资......
  • 【Azure Function App】解决Function App For Container 遇见ServiceUnavailable的异
    问题描述在使用Terraform创建FunctionApp后,部署函数时候遇见 ServiceUnavailable(BadRequest-- Encounteredanerror(ServiceUnavailable)fromhostruntime.)问题。查看FunctionApp的高级工具(Kudu)站点和默认站点,均出现ApplicationError页面。 问题解答查看Function......
  • 【Azure Function App】解决Function App For Container 遇见ServiceUnavailable的异
    问题描述在使用Terraform创建FunctionApp后,部署函数时候遇见 ServiceUnavailable(BadRequest-- Encounteredanerror(ServiceUnavailable)fromhostruntime.)问题。查看FunctionApp的高级工具(Kudu)站点和默认站点,均出现ApplicationError页面。 问题解答查看F......
  • Apache, service httpd stop, Address already in use:
    servicehttpdstopStoppinghttpd:                                           [FAILED][root@testtestapache_logs]#servicehttpdstartStartinghttpd:(98)Addressalreadyinuse:make_sock:couldnotbindtoaddress[::......
  • 直播软件开发,ScheduledExecutorService定时器的使用
    直播软件开发,ScheduledExecutorService定时器的使用/**   *延迟执行和周期重复执行的线程池   */  publicScheduledExecutorServicemScheduledExecutorService;   publicvoidstartTest(){    mScheduledExecutorService=newScheduledThreadP......
  • nginx ingress controller EWMA负载均衡策略工作原理及修改过程
    1、概念 EWMA(ExponentiallyWeightedMovingAverage)策略是NGINXIngressController中的一种负载均衡算法,它用于决定请求应该由后端服务的哪个实例处理。 2、工作原理 EWMA策略通过指数加权移动平均的方式计算每个后端服务实例的权重,并根据权重来分配请求。 它的......
  • Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contes
    JapanRegistryServices(JPRS)ProgrammingContest2023(AtCoderBeginnerContest324)赛后总结可悲的是:我没来得及写题解。TaskASame秒切。直接输入排一遍序再遍历即可。#include<bits/stdc++.h>usingnamespacestd;intn,a[101];intmain(){cin>>n;......