添加mybatis-Plus的拦截器
@Configuration
@MapperScan("com.hcy.mapper")
public class MybatisPlusConfig {
/**
* 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
service
public List<User> listPage(QueryPageParam queryPageParam) {
//分页条件
Page page = new Page<>(queryPageParam.getPageNumber(),queryPageParam.getPageSize());
HashMap query = queryPageParam.getHashMap();
//模糊查询条件
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("id",query.get("id")).or()
.like("name",query.get("name")).or()
.like("password",query.get("password")).or()
.like("age",query.get("age")).or()
.like("sex",query.get("sex")).or()
.like("phone",query.get("phone")).or()
.like("role_id",query.get("roleId")).or()
.like("isVaild",query.get("isVaild")).or();
//分页模糊查询
Page select = userMapper.selectPage(page, queryWrapper);
//page中拿到list数据
List<User> selectPage = select.getRecords();
return selectPage;
}
QueryPageParam
@Data
public class QueryPageParam {
private static Integer PAGE_SIZE = 10;
private static Integer PAGE_NUMBER = 1;
private Integer pageSize = PAGE_SIZE;
private Integer pageNumber = PAGE_NUMBER;
private HashMap hashMap;
}