services层和controller层

打印 上一主题 下一主题

主题 987|帖子 987|积分 2961

services层

我的明白,services层是编写逻辑代码语句最多的一个层,非常重要,在现实的项目中,负责调用Dao层中的mybatis,在我的项目中它调用的是这两个文件

举例代码如下
  1. package com.example.sfdeliverysystem.service;
  2. import com.example.sfdeliverysystem.dao.mybatis.StashMapper;
  3. import com.example.sfdeliverysystem.model.StashPO;
  4. import lombok.extern.slf4j.Slf4j;
  5. import org.springframework.stereotype.Service;
  6. @Service//加载service方法的包
  7. @Slf4j//加载log方法的包
  8. public class StashService {//创建一个方法
  9.     private StashMapper stashMapper;//调用接口并创建StashMapper类型的对象,这个类是Dao层的接口里的
  10.         /**
  11.      * 新增Stash
  12.      * @param stashPo
  13.      */
  14.     public int insertStash(StashPO stashPo) {   //调用接口中的insertStash方法,
  15.     //这个是方法名,方法体在StashMapper.xml里边定义了
  16.        try{//实际写项目的时候每个方法体里边都应该写try和
  17.           //TODO 后续应该在mybatis中加上返回值,确定是否插入成功(1成功,0失败)
  18.           stashMapper.insertStash(stashPo);//用stashMapper.来调用它体内的方法
  19.           return 1;
  20.        }catch (NullPointerException e){//如果出错,终止try的运行,进入catch分支运行方法体
  21.           log.error("有部分属性为空,{0}",e);
  22.           return 0;
  23.         }
  24.     };
  25.     /**
  26.      * 查询Stash,返回我查询的值,成功返回查询的值,失败就不用返回了
  27.      * @return selectStash()
  28.      */
  29.     public  StashPO selectStash() {//定义返回值类型为StashPO,调用接口中的selectStash方法
  30.         StashPO stashpo = new StashPO();//新建局部变量,为了承接selectStash方法的返回值(结果)
  31.         try {
  32.           stashpo = stashMapper.selectStash();//承接selectStash方法的返回值(结果)
  33.         }catch (Exception e) {
  34.             log.error("有部分属性查询不到,{0}", e); //有部分属性查询不到nullException
  35.         }
  36.         return stashpo;
  37.     };
  38.     /**
  39.      * 更新Stash,成功返回1,失败返回0
  40.      * @param stashPo
  41.      * @return
  42.      */
  43.     public int updateStash(StashPO stashPo){
  44.             try{
  45.                 stashMapper.updateStash(stashPo);
  46.                 return 1;
  47.             }catch (Exception e) {
  48.                 log.error("有部分属性无法更新,{0}", e);
  49.                 return 0;
  50.             }
  51.     };
  52.     /**
  53.      * 删除Stash,成功返回1,失败返回0
  54.      * @param cid
  55.      * @return
  56.      */
  57.     public int deleteStash(String cid) {
  58.         try{
  59.             stashMapper.deleteStash(cid);
  60.             return 1;
  61.         }catch (Exception e) {
  62.             log.error("有部分属性无法删除,{0}", e);
  63.             return 0;
  64.         }
  65.     };
  66. }
复制代码
controller层

我的明白,controller层,是用来处理页面和services层的逻辑关系的一个层,下面由代码举例:
  1. package com.example.sfdeliverysystem.controller;
  2. import com.example.sfdeliverysystem.dao.mybatis.StashMapper;
  3. import com.example.sfdeliverysystem.model.StashPO;
  4. import com.example.sfdeliverysystem.service.StashService;
  5. import lombok.extern.slf4j.Slf4j;
  6. import org.springframework.web.bind.annotation.GetMapping;
  7. import org.springframework.web.bind.annotation.PathVariable;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RestController;
  10. @Slf4j
  11. @RequestMapping("/StashPO")//将请求和处理请求的控制器方法关联起来,建立映射关系,里边写实体类名
  12. @RestController
  13. //定义一个StashController类,里边写对应的增删改查的方法,方法体为调用services层中的方法
  14. public class StashController {
  15.     private StashService stashService;//新建两个局部变量,还是主要为了调用和承接返回值
  16.     private int i;
  17. @GetMapping("/{insert}")//绿色的是在url中为了让其可以被识别的路径关键字,自己设置的
  18. public int insertStash(StashPO stashPo){//依旧是调用接口中的方法然后承接其返回值,然后输出本身方法体的返回值
  19.     i = stashService.insertStash(stashPo);
  20.     return i;
  21.     };
  22.     @GetMapping("/{select}")
  23.     public  StashPO selectStash() {
  24.         StashPO stashpo = new StashPO();
  25.         try{
  26.            stashpo = stashService.selectStash();
  27.         }catch (Exception e) {
  28.             log.error("有部分属性查询不到,{0}", e);
  29.         }
  30.         return stashpo;
  31.     };
  32.     @GetMapping("/{update}")
  33.     public int updateStash(StashPO stashPo){
  34.         i = stashService.updateStash(stashPo);
  35.             return i;
  36.         }
  37.     @GetMapping("/{delete}")
  38.     public int deleteStash(String cid) {
  39.         i = stashService.deleteStash(cid);
  40.             return i;
  41.     };
  42. };
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

千千梦丶琪

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表