package com.example.service.edu.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("com.example.service.edu.mapper") //mapper扫描路径
public class EduConfig {
/**
* 逻辑删除插件
*/
@Bean
public ISqlInjector sqlInjector() {
return new LogicSqlInjector();
}
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
分页查询
@ApiOperation(value = "分页查询")
@GetMapping("teacherPage/{current}/{limit}")
public R pageList(
@ApiParam(name = "current",value = "当前页",required = true)
@PathVariable Long current,
@ApiParam(name = "limit",value = "每页记录数",required = true)
@PathVariable Long limit
){
Page<Teacher> pageParam = new Page<>(current,limit);
teacherService.page(pageParam,null);
// try {
// int i = 10/0;
// } catch (Exception e) {
// throw new GuliException(20001,"执行了自定义异常处理");
// }
List<Teacher> records = pageParam.getRecords();
long total = pageParam.getTotal();
return R.ok().data("total",total).data("rows",records);
}
条件构造分页查询
@PostMapping("pageTeacherCondition/{current}/{limit}")
public R pageTeacherCondition(@PathVariable long current,@PathVariable long limit,
@RequestBody(required = false) TeacherQuery teacherQuery){
//前端传回的current,limit作为条件构造page对象
Page<Teacher> pageTeacher = new Page<>(current,limit);
//构建条件
QueryWrapper<Teacher> wrapper = new QueryWrapper<>();
//前端返回的返回的teacherQuery作为判断条件
String name = teacherQuery.getName();
Integer level = teacherQuery.getLevel();
String begin = teacherQuery.getBegin();
String end = teacherQuery.getEnd();
if (!StringUtils.isEmpty(name)){
wrapper.like("name",name);
}
if (!StringUtils.isEmpty(level)){
wrapper.eq("level",level);
}
if (!StringUtils.isEmpty(begin)){
wrapper.ge("gmt_create",begin);
}
if (!StringUtils.isEmpty(end)){
wrapper.le("gmt_modified",end);
}
//调用方法实现分页,page,条件构造
teacherService.page(pageTeacher,wrapper);
//总记录数
long total = pageTeacher.getTotal();
//数据集合
List<Teacher> records = pageTeacher.getRecords();
return R.ok().data("total",total).data("rows",records);
}