SSM下整合PageHelper以及解决java.lang.ClassNotFoundException: com.github.pagehelper.PageInterceptor问题

一、导入依赖pom.xml

    
      com.github.pagehelper
      pagehelper
      5.1.2
    

二、在spring-mybatis.xml的sqlSessionFactory中配置

        
            
                
                    
                        
                        
                            
                            
                            reasonable=true   
                        
                    
                
            
        

三、后端controller的写法

因为前端我是使用的Layui框架,table接口需要接收指定格式的json数据,所以我用map装好这些数据后以json格式返回给前端。@ResponseBody注解的作用就是将返回的数据对象转化为json格式的数据。

从下面的代码我们可以看到,我们只需要page和limit两个参数,page是页数,limit是每页数据数目。至于mapper.xml中的sql语句我们只需要按照平时的方法去写就行了(如:select * from teacher_tb),pagehelper会自动为我们的select语句加上limit查询。

    //获取教师列表
    @ResponseBody
    @RequestMapping("/tea_list")
    public Map toGetTeacherList(@RequestParam(required=false,defaultValue="1") int page,
                                               @RequestParam(required=false) int limit){
        //使用Pagehelper传入当前页数和页面显示条数会自动为我们的select语句加上limit查询
        PageHelper.startPage(page, limit);
        List teachers=this.teacherService.getTeacherList();
        PageInfo pageInfo = new PageInfo<>(teachers);

        Map map=new HashMap();
        map.put("code",0);
        map.put("msg","");
        map.put("count",pageInfo.getTotal());
        map.put("data", pageInfo.getList());
        return map;
    }

四、当遇到java.lang.ClassNotFoundException: com.github.pagehelper.PageInterceptor问题

当我们以为一切都已准备妥当,启动Tomcat时居然遇到如下报错

Caused by: java.lang.ClassNotFoundException: com.github.pagehelper.PageInterceptor
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1137)
	at org.springframework.util.ClassUtils.forName(ClassUtils.java:250)
	at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:394)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1397)
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1344)

发现原因:在target目录下找到lib文件夹,发现里面并没有我们刚才引入的pagehelper包

SSM下整合PageHelper以及解决java.lang.ClassNotFoundException: com.github.pagehelper.PageInterceptor问题_第1张图片

解决办法:打开Project Structure,左边选择Artifacts,如图看到pagehelper果然没有导入,我们右键将他们导入。

SSM下整合PageHelper以及解决java.lang.ClassNotFoundException: com.github.pagehelper.PageInterceptor问题_第2张图片 SSM下整合PageHelper以及解决java.lang.ClassNotFoundException: com.github.pagehelper.PageInterceptor问题_第3张图片

最后重启Tomcat正常运行,大功告成!

 

你可能感兴趣的:(JavaEE框架)