简单业务逻辑顺序,了解一下?
数据层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!!!
业务逻辑顺序不唯一 自身感觉来!
浙公网安备 33010602011771号