service和Dao层有什么关系

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

dao层代码示例:数据库

 

 

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

service层代码示例:后端

 

 

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

扩展资料app

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

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

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

下面是Controller层的接口示例:code

@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()));
    }
  }
相关文章
相关标签/搜索