1. 程式人生 > 實用技巧 >業務邏輯

業務邏輯

資料層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!!!

業務邏輯順序不唯一 自身感覺來!