zoukankan      html  css  js  c++  java
  • service和Dao层有什么关系

    Dao层:主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置。

    dao层代码示例:

    service层:主要负责业务模块的逻辑应用设计, Service层的业务实现,具体要调用到已定义的DAO层的接口,封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。  

    service层代码示例:

    dao层和service层关系:service层经常要调用dao层的方法对数据进行增删改查的操作,现实开发中,对业务的操作会涉及到数据的操作,而对数据操作常常要用到数据库,所以service层会经常调用dao层的方法。

    扩展资料

    Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层而Service层又是在Controller层之下的因而Service层应该既调用DAO层的接口,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。

    在实际开发中DAO层大多是对某张表进行增删改查,都是一些固定的语句,除非涉及到更复杂的service层业务逻辑,才可能要添加更复杂的DAO层方法。

     Controller层一般都是写接口提供给前端或者后端其他服务使用的,一般后端的接口都是写在 Controller层Controller层的接口里面不写业务逻辑,主要是调用Service层的业务逻辑方法service层主要是写业务逻辑方法,service层经常要调用dao层的方法对数据进行增删改查的操作。

    下面是Controller层的接口示例:

    @Controller
    @RequestMapping(value = "/api/platform/exceptioncenter/exceptioninfo")
    public class ExceptionInfoController {
        //注入
        @Autowired
        private ExceptionInfoBiz exceptionInfoBiz;
     
        /**
         * 创建异常信息请求
         * @param requestBody 请求消息内容
         * @param request 请求消息头
         * @return jsonObject
         */
        @RequestMapping(
                value="/create",
                method = RequestMethod.POST
        )
        public ModelAndView createExceptionInfo(@RequestBody String requestBody, HttpServletRequest request) {
            JSONObject jsonObject = JSONObject.fromObject(requestBody);
            ComExceptionInfo comExceptionInfo = new ComExceptionInfo();
            comExceptionInfo.setProjectName(jsonObject.getString("projectName"));
            comExceptionInfo.setTagName(jsonObject.getString("tagName"));
            exceptionInfoBiz.insert(comExceptionInfo);
            //返回请求结果
            JSONObject result= new JSONObject();
            result.put("success", "true");
            return new ModelAndView("", ResponseUtilsHelper.jsonSuccess(result.toString()));
        }
      }
  • 相关阅读:
    centos8 将SSSD配置为使用LDAP并要求TLS身份验证
    Centos8 搭建 kafka2.8 .net5 简单使用kafka
    .net core 3.1 ActionFilter 拦截器 偶然 OnActionExecuting 中HttpContext.Session.Id 为空字符串 的问题
    Springboot根据不同环境加载对应的配置
    VMware Workstation12 安装 Centos8.3
    .net core json配置文件小结
    springboot mybatisplus createtime和updatetime自动填充
    .net core autofac依赖注入简洁版
    .Net Core 使用 redis 存储 session
    .Net Core 接入 RocketMQ
  • 原文地址:https://www.cnblogs.com/111testing/p/11669352.html
Copyright © 2011-2022 走看看