mybatis pagehelper jsqlparser报错

6,766 阅读1分钟

java.lang.NoSuchMethodError: net.sf.jsqlparser.statement.select.PlainSelect.getGroupBy()Lnet/sf/jsqlparser/statement/select/GroupByElement;

问题描述

pagehelper帮助文档 \
推荐的pagehelper是能选择5.1.9版本的 \
推荐的jsqlparser是0.9.5版本的

按照文档提示,在mybatis的xml里配置后

    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
        </plugin>
    </plugins> 

运行

     @Test
    public void pagehelper() {
        Student student = new Student();
        SqlSession sqlSession = factory.openSession();
        StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
        PageInfo<Object> studentInfo = PageHelper
                                        .startPage(1, 10)
                                        .doSelectPageInfo(() -> mapper.selectAllStudentS(null, student));
        System.out.println(studentInfo);
    }

报错

问题原因:

jsqlparser.jar包 版本太低

解决办法:

下载新版的 jsqlparser.jar包

运行结果: