mybatis分页插件的基本理解和使用

mybatis分页插件的基本理解和使用

为什么要使用mybatis分页插件?

分页是一种将所有数据分段展示给用户的技术。用户每次看到的不是全部数据,而是其中一部分,如果在其中没有找到自己想要的内容,用户可以通过制定页码或者是翻页的方式转换可见内容,直到找到自己想要的内容为止。

分页的好处:

1、分页能提高性能,一次查20个和一次性查询2000个的性能肯定更好;其次就是如果数据量很庞大,一次性将内容查询出来,查询出来的结果是放在内存里面的,会增加cpu的开销造成内存的浪费,效率极为低。

2、为了展现层考虑:如果一次展现太多,不管是排版和美观上都不是很好。

下面根据示例来理解分页插件的使用:

在pom.xml引入分页插件

		<dependency>
            <groupId>com.github.pagehelpergroupId>
            <artifactId>pagehelperartifactId>
            <version>5.1.10version>
        dependency>

在config文件中配置分页(放在environments之前)


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

在StudentMapper接口中定义方法

List<Student> getAllStudent();

在StudentMapper配置中添加内容

<select id="getAllStudent" resultType="Student" useCache="true">
        select * from student
    select>

测试:

@Test
    public void t03(){
        //设置当前页码及每页显示条数
        PageHelper.startPage(1,2);
        SqlSession sqlSession = sqlSessionUtil.getSqlSession();
        StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
        List<Student> list = studentMapper.getAllStudent();
        //从查到的数据中取到当页数据,生成pageInfo对象
        PageInfo<Student> pageInfo = new PageInfo<>(list);
        //获取当页数据
        List<Student> studentList = pageInfo.getList();
        //遍历输出当前页的所有数据
        studentList.forEach(System.out::println);
        //总数据条数
        long total = pageInfo.getTotal();
        System.out.println("总数据条数有:"+total);
        //总页数
        int totalPage = pageInfo.getPages();
        System.out.println("总页数有:"+totalPage);
        sqlSession.close();
    }

运行结果:

mybatis分页插件的基本理解和使用_第1张图片

你可能感兴趣的:(mybatis,Java,mybatis,java,开发语言,maven)