配置分页插件可以参考官方文档
https://baomidou.com/guide/page.html
一、添加分页配置信息
/**
*分页拦截器设置
*/
@Configuration
public class MybatisConfig {
@Bean
public MybatisPlusInterceptor paginationInterceptor() {
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
// paginationInterceptor.setOverflow(false);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
// paginationInterceptor.setLimit(500);
// 分页拦截器
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
paginationInnerInterceptor.setOverflow(false);
paginationInnerInterceptor.setMaxLimit(500L);
mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor);
return mybatisPlusInterceptor;
}
}
接下来就是分页查询的编写
Controller
@Slf4j
@RestController
@RequestMapping("/hello")
public class HelloController {
@Autowired
private JdbcTemplate jdbcTemplate;
@Autowired
private UserService userService;
@GetMapping("/list")
public List<User> getList(@RequestParam("pn")Long pn,
@RequestParam("size")Long size) {
Page<User> page = new Page<>(pn, size);
Page<User> userPage = userService.page(page, null);
return userPage.getRecords();
}
}
UserServiceImpl
@Service
public class UserServiceImpl extends ServiceImpl<NewUserMapper, User> implements UserService {
}
//这里面由于继承了mybatis-plus里面的ServiceImpl<NewUserMapper, User>,
//就可以使用里面封装好的基本的对单表的常规操作方法,不需要再写其他的方法
此图里面就继承了ServiceImpl的常用基本方法
UserService 编写,需要实现mybatis——plus提供的接口IService
public interface UserService extends IService<User> {
}
Mapper编写
@Mapper
public interface NewUserMapper extends BaseMapper<User> {
}