業務邏輯
阿新 • • 發佈:2020-09-02
資料層POJO
1.首先建立POJO物件,進行資料的封裝**
class檔案
註解:
package com.xx.pojo;
@Accessors(chain = true) 鏈式規則
@Data lombok
@TableName("tb_item_cat")
//實現表與物件的關聯
//如果@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!!!
業務邏輯順序不唯一 自身感覺來!