分页插件PageHelper的使用

本文详细介绍了如何在MyBatis项目中集成PageHelper分页插件,包括配置全局配置文件SqlMapConfig.xml,整合MyBatis到Spring环境中,以及在测试类中使用PageHelper进行分页查询的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、准备

二、配置MyBatis的全局配置SqlMapConfig.xml文件

  • <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <!--配置分页插件-->
        <plugins>
            <plugin interceptor="com.github.pagehelper.PageInterceptor">
                <!--PageHelper插件4.0.0以后的版本支持自动识别使用的数据库,所以下面这个属性不需要写-->
                <!--<property name="dialect" value="mysql"/>-->
            </plugin>
        </plugins>
    
    </configuration>

     

三、在文件applicationContext-dao.xml中整合MyBatis

  • <!--整合MyBatis-->
         <!--让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 -->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <!-- 数据库连接池 -->
            <property name="dataSource" ref="dataSource" />
            <!-- 加载mybatis的全局配置文件 -->
            <property name="configLocation" value="classpath:mybaits/SqlMapConfig.xml"/>
        </bean>
        <!--mybatis扫描dao层-->
        <bean id="mappers" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
            <property name="basePackage" value="cn.e3mall.mapper" />
        </bean>
    </beans>

 四、在src/test/java/cn.e3mall.pagehelper中创建测试类PageHelperTest.java

  • package cn.e3mall.pagehelper;
    
    import cn.e3mall.mapper.TbItemMapper;
    import cn.e3mall.pojo.TbItem;
    import cn.e3mall.pojo.TbItemExample;
    import com.github.pagehelper.PageHelper;
    import com.github.pagehelper.PageInfo;
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import java.util.List;
    
    public class PageHelperTest {
    
        @Test
        public void testPageHelper() {
            //初始化spring容器
            ApplicationContext applicationContext=new ClassPathXmlApplicationContext("classpath:spring/applicationContext-dao.xml");
            //从容器中获得mapper代理对象
            TbItemMapper itemMapper = applicationContext.getBean(TbItemMapper.class);
            //执行SQL语句之前设置分页信息使用PageHelper的startPage方法
            PageHelper.startPage(1, 10);
            //执行查询
            TbItemExample example=new TbItemExample();
            List<TbItem> list = itemMapper.selectByExample(example);
            //取分页信息,PageInfo:总记录数,总页数,当前页码
            PageInfo<TbItem> pageInfo=new PageInfo<>(list);
            //总记录数
            System.out.println(pageInfo.getTotal());
            //记录总页数
            System.out.println(pageInfo.getPages());
            //每页的信息数
            System.out.println(list.size());
        }
    }
    

五、结果 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值