Day42——MyBatis分页插件

一. 知识储备

在这里插入图片描述

前往免费下载源码

二. 例子

mybatis-config.xml

<!-- 注册插件:在数据库环境<environments>前配置 -->
     <plugins>
        <!-- 分页插件 -->
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
     </plugins>

EmployeeMapper.java

package com.atguigu.mybatis.dao;

import java.util.List;

import com.atguigu.mybatis.beans.Employee;

public interface EmployeeMapper {
    
	public List<Employee> selectAllEmps();
}

EmployeeMapper.xml

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.atguigu.mybatis.dao.EmployeeMapper">
	  
	<!-- public List<Employee> selectAllEmps(); -->
	<select id="selectAllEmps" resultType="com.atguigu.mybatis.beans.Employee">
	     select id, last_name, email, gender from tbl_employee
	</select>
	
</mapper>

TestMyBatis.java

package com.atguigu.mybatis.test;

import java.io.InputStream;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import com.atguigu.mybatis.beans.Employee;
import com.atguigu.mybatis.dao.EmployeeMapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

public class TestMyBatis {


	
	@Test
	public void testPageHelper() throws Exception{
		SqlSessionFactory ssf = getSqlSessionFactory();
		SqlSession session = ssf.openSession();
		
		try {
			EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
			
			//设置分页信息
			Page<Object> page = PageHelper.startPage(4,1);//第一个参数:当前的页码  第二个参数:每页的条数
			
			List<Employee> emps = mapper.selectAllEmps();
			
			//查询以后,将结果设置到PageInfo对象中
			PageInfo<Employee> info = new PageInfo<>(emps, 5);//1.查询结果 2.分页逻辑显示的页码数
			
			
			
			for(Employee employee : emps) {
				System.out.println(employee);
			}
			
			System.out.println("page==>获取分页相关的信息:");
			System.out.println("总条数:" + page.getTotal());
			System.out.println("总页码:" + page.getPages());
			System.out.println("当前页码:" + page.getPageNum());
			System.out.println("每页的条数:" + page.getPageSize());
			
			
			System.out.println("info==>获取分页相关的信息:");
			System.out.println("总条数:" + info.getTotal());
			System.out.println("总页码:" + info.getPages());
			System.out.println("当前页码:" + info.getPageNum());
			System.out.println("每页的条数:" + info.getPageSize());
			System.out.println("是否有上一页" + info.isHasPreviousPage());
			System.out.println("是否有下一页" + info.isHasNextPage());
			System.out.println("是否是第一页" + info.isIsFirstPage());
			System.out.println("是否是最后一页" + info.isIsLastPage());
			
			
			System.out.println("分页逻辑:");
			int[] nums = info.getNavigatepageNums();
			for (int i : nums) {
				System.out.print(i + " ");
				
			}
			
			/**
			 *   @RequestMapping(/list)
			 *   public String listAllEmps(Map<String, Object> map){
			 *        
			 *        //1. 设置分页信息
			 *        Page<Object> page = PageHelper.startPage(4,1);
			 *        //2. 查数据
			 *        List<Employee> emps = employeeMapper.selectAllEmps();
			 *        //3. 封装PageInfo对象
			 *        PageInfo<Employee> info = new PageInfo<>(emps, 5);
			 *        
			 *        map.put("info", info);
			 *        
			 *        return "list";
			 * 
			 * 
			 */
			
		} finally {
			// TODO: handle finally clause
			session.close();
		}
	}
	
	
	public SqlSessionFactory getSqlSessionFactory() throws Exception {
		String resource = "mybatis-config.xml"; 
		InputStream inputStream = 
				Resources.getResourceAsStream(resource); 
		SqlSessionFactory sqlSessionFactory = 
				new SqlSessionFactoryBuilder().build(inputStream);
		return sqlSessionFactory;
	}
	
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值