pageHelper報(bào)NullPointExcetion

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

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

一般也不會(huì)有這種寫法,但是注意的是,這樣寫可能會(huì)報(bào)錯(cuò),當(dāng)你
<property name="helperDialect" value="mysql"/>時(shí)
將會(huì)報(bào)nullpointExcetion

查看源碼發(fā)現(xiàn)

image.png

只有這兩個(gè)條件下才會(huì)設(shè)置properties

當(dāng)我們objects.setDialectClass("mysql"); 看看分頁(yè)攔截器是如果執(zhí)行

1.先看要不要分頁(yè)


image.png

2.因?yàn)槲以O(shè)置了分頁(yè),page不可能為空,所以走非空邏輯


image.png

3.我設(shè)置了dialectClass,所以走不為空的邏輯,而且properties為空的
image.png

4.properties為空所以報(bào)錯(cuò)了


image.png

image.png

5.解決方案
  1. 去掉<property name="helperDialect" value="mysql"/>,讓它自己設(shè)置
    2.設(shè)置<property name="autoRuntimeDialect" value="true"/>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容