简单业务逻辑顺序,了解一下?

数据层POJO

1.首先创建POJO对象,进行数据的封装**

class文件

注解:

 package com.xx.pojo;
 
 @Accessors(chain = true) 链式规则
 @Data     lombok
 @TableName("xx_xx_xxx")-->数据库表名
 //实现表与对象的关联
 //如果@TableName("user")中的(user)数据库中的表名称与类名一致(忽略大小写)
 //可以省略大小写
 public class xxxxx extends BasePojo{
 
 @TableId(type = IdType.AUTO)
 //但凡定义pojo实体对象中的属性类型必须使用包装类型.
 private String id;
 *****************
 *****************
 }

2.创建POJO映射文件Mapper

mapper 创建 使用 interface接口

需要继承:BaseMapper<xxxx>

 package com.xx.mapper;
 
 BaseMapper//因为我们用的是Mybatis plus 所以要继承BaseMapper
 <xxxxx> // 泛型里 查看哪个表就定哪个
 public interface xxxMapper extends BaseMapper<xxxxx> {
 }
 
 //这里不加@mapper注解 是因为在启动类中加了总的 就不需要单独加了

业务层SERVICE

1.创建service接口及实现类

1) 先创建一个 interface接口 service(I)

 package com.xx.service;
 
 public interface xxxService {}

2)再创建 接口的class实现类 class(c)

 package com.xx.service;
 
 @Service
 public class xxxServiceImpl implements xxxService{
 
 @Autowired
    private xxxMapper xxxMapper;
    //这里Service调用的是mapper接口
 }    

控制层CONTROLLER

1.创建Controller控制类

 package com.xx.controller;
 
 public class xxxController {
 
    @Autowired
    private xxxService xxxService;
    //控制层调用的是service业务层中的接口 xxxService
 }    

OK 准备工作高兴,接下来开始 实战一下!!!!!!!!!!

通过itemCatId获取商品分类的名称

  //格式化名称
    findItemCatName : function(val,row){
        var name;
        $.ajax({
          type:"post",
      ** url:"/item/cat/queryItemName",
      ** data:{itemCatId:val},
          cache:true,   //缓存
          async:false,     //表示同步   默认的是异步的true
          dataType:"text", //表示返回值参数类型
          success:function(data){//返回商品分类名称
              name = data;
            }
        });
        return name;
 },

1.首先在我们的Controller层中

 package com.xx.controller;
 
 @RestController
 @RequestMapping("/item/cat/") //请求业务名称
 public class ItemCatController {
 
    @Autowired
    private ItemCatService itemCatService;
 
 
    /**
      * 分析业务: 通过itemCatId获取商品分类的名称
      * 1.url地址: url: "/item/cat/queryItemName"
      * 2.参数: {itemCatId:val}
      * 3.返回值: 商品分类的名称 String(类型)
      */
    @RequestMapping("queryItemName")
    public String findItemCatName(Long itemCatId){
 
      //1. // 返回什么?返回名 名哪里来? Service业务层里查啊
      /*
        String name = itemCatService.findItemCatNameById(itemCatId);
        return name;
        */
      //2. // 写习惯了 怎么办呢?   直接搞啊
        return itemCatService.findItemCatNameById(itemCatId);//这里是根据id查明哈
        //下一步怎么做啊?   实现以下接口方法呗   去Service接口中搞一下
    }
 }

2.Service层中

1).首先在接口中定义方法(相当于给实现类定规矩,按照规矩去办事)

 package com.xx.service;
 
 public interface ItemCatService {
 
    //接口一实现(实现的是Controller中的方法哈 哈皮)
            // 下一步写谁啊   当然是实现类啊
        /*
        接口等于给你定了个规矩,规矩==方法
        要遵守这个规矩 也就是怎么去做
        当然就是去实现类中 去搞一下
          */
    String findItemCatNameById(Long itemCatId);
 }

2).实现类中去搞一下

 package com.xx.service;
 
 @Service
 public class ItemCatServiceImpl implements ItemCatService{
 
    @Autowired
    private ItemCatMapper itemCatMapper;
 
 
    //好嘞!这里我们遵守了一下接口中的规矩,也就是说重写了接口中的方法
    @Override
    public String findItemCatNameById(Long itemCatId) {
        //根据id查名   这里有mapper的支持 private ItemCatMapper itemCatMapper;
        /*我们要先查对象,然后通过对象在获取名
        selectById(itemCatId) 这里查对象,查完对象返回的是 对象itemCat
        通过这个对象 然后getName() 获取名
        */
        return itemCatMapper.selectById(itemCatId).getName();
    }
 }

简单的一个业务逻辑 基本OK!!!

业务逻辑顺序不唯一 自身感觉来!

posted @ 2020-09-02 17:35  主父文帅  阅读(206)  评论(0)    收藏  举报