当时由于自己学到的技术有限,因此上一篇并不完整,此篇文章主要是对上一篇文章,添加一些说明补充
前置说明:
1. 活学活用,开扩思维。
2. MyBatis plus(以下简称MP)
分 使用MP框架 & 不使用MP框架 两种情况
在没有使用MP框架时
持久层相关
负责与数据库交互
BaseMapper
所有Mapper接口的父接口
package ling.evidences.dao.root;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 泛型 T 由子接口去声明
* @Author: 酷酷宅小明
* @CreateTime: 2020-12-26 14:24
*/
public interface BaseMapper<T> {
//region 查询
/**
* 查询所有
*/
List<T> selectAll();
/**
* 根据Id查询
*/
T selectById(T t);
/**
* 查询总共有多少条数据
*/
int selectAllCount();
/**
* 分页查询
*/
List<T> selectLimit(@Param("start") int start, @Param("pageSize") int pageSize);
//endregion
/**
* 增加
*/
int insert(T t);
/**
* 删除
*/
int delete(T t);
/**
* 修改
*/
int update(T oldS,T newS);
//......
}
普通Mapper
BaseMapper中的 T 在此处 给他一个实际的类(实体类)
package ling.evidences.dao;
import ling.evidences.dao.root.BaseDao;
import ling.evidences.entity.School;
public interface SchoolDao extends BaseDao<Student> {
// 如果没有特殊情况,这里不用写任何一丁点的代码
// 当然,特殊情况还是会有的
}
业务层相关
业务逻辑(稍微复杂,直接截上一篇文章的图)
Base
BaseService接口
PageService接口
Transition(抽象类)
单词中文意思:桥
该抽象类不能像上一篇一样使用setter赋值,而是把setService删除,改用构造函数赋值
package ling.evidences.service.ro