pom.xml导入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
创建Config类
package com.vueboot.Config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("com.vueboot.Mapper")
public class MybatisPlusConfig {
/**
* 添加分页插件
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));//如果配置多个插件,切记分页最后添加
//interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); 如果有多数据源可以不配具体类型 否则都建议配上具体的DbType
return interceptor;
}
}
application.yml中添加打印日志(方便在控制台看到执行结果)
mybatis-plus:
classpath: /Mapper/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
在Mapper以及Service中分别继承mybatis-plus提供的接口
然后调用serviceImpl封装的方法实现CRUD方法
Controller层通过mybatis-plus实现分页功能
通过mybatis-plus实现分页
@GetMapping("/page")
public Page<User> Pageinfo(@RequestParam Integer pageNum,
@RequestParam Integer pageSize,
@RequestParam(defaultValue = "") String username,
@RequestParam(defaultValue = "") String phone){
Page<User> page = new Page<>(pageNum,pageSize);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
if (!"".equals(phone)){
queryWrapper.like("phone",phone);
}
if (!"".equals(username)){
queryWrapper.like("username",username);
}
return userService.page(page,queryWrapper);
}
分页原理:
@GetMapping("/page")
public Map<String, Object> Pageinfo(@RequestParam Integer pageNum, @RequestParam Integer pageSize, @RequestParam String username){
pageNum=(pageNum-1) *pageSize;
Integer total = usermapper.findTotal(username);
List<User> pageinfo = usermapper.pageinfo(pageNum, pageSize,username);;
Map<String,Object> res=new HashMap<>();
res.put("total",total);
res.put("pageinfo",pageinfo);
return res;
}