ssm学习---pagehelper(分页查询)

ssm框架里mybatis有一个分页查询(pagehelper)很好用,实际上是一个插件,现去添加依赖(或下载包)

<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>5.1.2</version>
</dependency>

想要更高版本去maven上面找

接下来需要在mybatis上面配置。
在你的applicationContext.xml上配置


<!-- mybatis和spring完美整合,不需要mybatis的配置映射文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <!-- 配置分页插件 -->
    <property name="plugins">
        <array>
            <bean class="com.github.pagehelper.PageInterceptor">
                <property name="properties">
                    <value>
                        params=value1
                    </value>
                </property>
            </bean>
        </array>
    </property>
</bean>

接着直接在你的ssm框架里写一个查询,最后在Controller中加入这样一句话

PageHelper.startPage(pageStart,pageSize);

就可以了
例如:

@RequestMapping("/getAll")
public String getAll(Model model){
    PageHelper.startPage(1,3);
    List<Staff> list = staffService.fine(null);
    model.addAttribute("list",list);
    return "staff-list";
}

还有下一页,页数什么的就比较简单了,自己去找一下属性就懂了

以上
是没有mybatis-config的配置的,想用这种方法配置的话还得去度娘看看
以下
说几种错误,基本上是因为版本问题
一些配置会写

   <bean class="com.github.pagehelper.PageHelper">

写这样就可以看到bean会出现红色,这就有错误了啦
查找发现 (觉得比较好的看法): 这可能是一个类型转换的错误。 PageHelper根本没有实现Interceptor接口。在看分页插件的类时,发现PageInterceptor类实现了Interceptor接口。所以要修改配置----
将上面的PageHelper改成PageInterceptor

还有些配置是这样紫的

<property name="plugins">
        <array>
            <bean class="com.github.pagehelper.PageInterceptor">
                <property name="properties">
                    <value>
                        helperDialect=mysql
                    </value>
                </property>
            </bean>
        </array>
    </property>
</bean>
`

这样运行还会出现错误,具体解释可参考以下博文
https://blog.csdn.net/wzyxdwll/article/details/66473466

发布了14 篇原创文章 · 获赞 13 · 访问量 1769

猜你喜欢

转载自blog.csdn.net/weixin_43157543/article/details/97420021