Mybatis-Plus
升级到3.4.3版本后分页失效
最近把Mybatis-Plus
升级到了3.4.3版本,发现分页失效了。
如果着急直到如何解决,直接跳过【代码】,看下面的【解决方案】即可。
代码如下:
依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
代码
控制层
/**
* @author SunChangSheng
* @apiNote
* @since 2021/12/8 16:47
*/
@RestController
@RequestMapping("users/logs")
public class LogsController {
@Autowired
private LogsService logsService;
@ReleaseToken
@RequestMapping("list")
public ResultUtils<Page<LogsDO>> list(Integer currentPage, Integer pageSize) {
return ResultUtils.success(logsService.list(currentPage, pageSize));
}
}
服务层
/**
* @author SunChangSheng
* @apiNote
* @since 2021/12/8 16:47
*/
public interface LogsService {
/**
* 查询列表
* @param currentPage 当前页
* @param pageSize 每页多少条
* @return
*/
Page<LogsDO> list(Integer currentPage, Integer pageSize);
}
服务实现层
/**
* @author SunChangSheng
* @apiNote
* @since 2021/12/8 16:47
*/
@Service
public class LogsServiceImpl implements LogsService {
@Resource
private LogsMapper logsMapper;
@Override
public Page<LogsDO> list(Integer currentPage, Integer pageSize) {
Page<LogsDO> page = new Page<>(currentPage, pageSize);
Page<LogsDO> logsDOPage=logsMapper.selectPage(page, null);
return logsDOPage;
}
}
数据持久层
/**
* @author SunChangSheng
* @apiNote
* @since 2021/12/8 16:47
*/
public interface LogsMapper extends BaseMapper<LogsDO> {
}
数据实体类
/**
* @author SunChangSheng
* @apiNote 日志表(TLogs)实体类
* @since 2021/12/8 16:47
*/
@TableName("t_logs")
public class LogsDO implements Serializable {
private static final long serialVersionUID = 825409325431007982L;
@TableId(type = IdType.AUTO)
private Integer id;
/**
* 操作ip
*/
private String requestIp;
//只列举部分字段,省略get、set方法
}
测试
第一页,每页5条数据,进行查询。
/users/logs/list?currentPage=1&pageSize=5
查看结果
结果明显把所有数据都查询出来了,total
也没有正确的赋值,大概是分页分了个寂寞。
解决方案
Mybatis-Plus
3.2.0以上版本需要用到一个扩展包,和SpringBoot整合的starter里面还没有,需要单独加上一个扩展包,用和Mybatis-Plus
同版本即可。
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.4.3</version>
</dependency>
加入依赖还不够,还需要配置
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
再次测试
至此,Mybatis-Plus
3.4.3版本实现分页。