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()));
    }
  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM