分页查询中包含模糊查询,使用StringUtils工具类 判断查询条件(pageResult.getQuery())是否为空 flag为true 拼接查询条件
使用MP的分页查询 需要额外指定数据库类型
public PageResult getItemList(PageResult pageResult) {
boolean flag = StringUtils.hasLength(pageResult.getQuery());
QueryWrapper<Item> queryWrapper = new QueryWrapper<>();
queryWrapper.like(flag,"title", pageResult.getQuery());
//定义分页对象 使用mp分页 要额外指定数据库版本 config.MyMPConfig
IPage<Item> page = new Page<>(pageResult.getPageNum(),pageResult.getPageSize());
page = itemMapper.selectPage(page, queryWrapper);
pageResult.setTotal(page.getTotal()) //获取总数
.setRows(page.getRecords()); //获取分页结果
return pageResult;
}
指定数据库类型:
@Configuration
public class MyMPConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(
new PaginationInnerInterceptor(DbType.MARIADB));
return interceptor;
}
}