pageHelper报NullPointExcetion

public class EmployeeF04BLogic {
    @Autowired
    private EmployeeMapper employeeMapper;
    public String execute() {
        Page<Object> objects = PageHelper.startPage(2, 1);
        objects.setDialectClass("mysql"); //我设置了这个
        List<Integer> integers = employeeMapper.EmployeeF04SQL02();
        System.out.println(integers);
        return "成功";
    }
}

注意我上面的objects.setDialectClass("mysql");

一般也不会有这种写法,但是注意的是,这样写可能会报错,当你
<property name="helperDialect" value="mysql"/>时
将会报nullpointExcetion

查看源码发现

image.png

只有这两个条件下才会设置properties

当我们objects.setDialectClass("mysql"); 看看分页拦截器是如果执行

1.先看要不要分页


image.png

2.因为我设置了分页,page不可能为空,所以走非空逻辑


image.png

3.我设置了dialectClass,所以走不为空的逻辑,而且properties为空的
image.png

4.properties为空所以报错了


image.png

image.png

5.解决方案
  1. 去掉<property name="helperDialect" value="mysql"/>,让它自己设置
    2.设置<property name="autoRuntimeDialect" value="true"/>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容