数据库分页显示

单独使用mybatis 实现 数据库分页显示

实现图:

数据库分页显示_第1张图片数据库分页显示_第2张图片数据库分页显示_第3张图片

基本就是这么显示  点击下一页就直接跳转到下一页。

首先是:配置mybatis  (配置流程)

导入jsp所需要的jar包jstl.jar 和 standard.jar (下载参考)

数据库分页显示_第4张图片数据库分页显示_第5张图片

红框里表示在mybatis上添加的包和类

1.page.java 

package com.ssm.pojo;

import java.util.List;

public class page {
	//每页个数
	private int pagesize;
	//当前第几页
	private int pagenumber;
	//总数
	private long total;
	//当前页信息
	private List list;
	public int getPagesize() {
		return pagesize;
	}
	public void setPagesize(int pagesize) {
		this.pagesize = pagesize;
	}
	public int getPagenumber() {
		return pagenumber;
	}
	public void setPagenumber(int pagenumber) {
		this.pagenumber = pagenumber;
	}
	public long getTotal() {
		return total;
	}
	public void setTotal(long total) {
		this.total = total;
	}
	public List getList() {
		return list;
	}
	public void setList(List list) {
		this.list = list;
	}
	
	
}

2.PeopleService.java

package com.ssm.service;

import java.io.IOException;

import com.ssm.pojo.page;

public interface PeopleService {
	/**
	 * 显示页面
	 * @return
	 * @throws IOException 
	 */
	page showPage(int pagesize,int pagenumber)throws IOException;
}

3.PeopleServiceImpl.java

package com.ssm.service.impl;

import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

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 com.ssm.pojo.page;
import com.ssm.service.PeopleService;

public class PeopleServiceImpl implements PeopleService{
	
	@Override
	public page showPage(int pagesize,int pagenumber) throws IOException {
		InputStream is = Resources.getResourceAsStream("sqlconfig.xml");
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
		SqlSession session = factory.openSession();
		
		page p = new page(); 
		p.setPagenumber(pagenumber);
		p.setPagesize(pagesize);
		Map map = new HashMap<>();
		map.put("pageStart", pagesize*(pagenumber-1));
		map.put("pageSize", pagesize);
		p.setList(session.selectList("com.ssm.mapper.PeopleMapper.selAll",map));
		//总条数
		long count = session.selectOne("com.ssm.mapper.PeopleMapper.selCount");
		p.setTotal(count%pagesize == 0 ? count/pagesize : count/pagesize+1);
		return p;
	}
}

4.ShowServlet.java

package com.ssm.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.ssm.pojo.page;
import com.ssm.service.PeopleService;
import com.ssm.service.impl.PeopleServiceImpl;
//大部分注解都有默认属性,如果注解中只给默认属性赋值,可以省略属性名
//否则在注解的(属性名=属性值)格式
//如果一个属性是数组类型格式:属性名={值,值},如果该数组只有一个值,可以省略大括号
//如果类不是一个基本类型或者String而是一个类类型,语法:属性名=@类型
//注解中@表示引用注解声明
@WebServlet("/page")
public class ShowServlet extends HttpServlet{
	private PeopleService PeopleService = new PeopleServiceImpl();
	@Override
	protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
			throws ServletException, IOException {
		String pagesizeString = arg0.getParameter("pagesize");
		int pagesize = 2;
		if(pagesizeString != null && pagesizeString != ""){
			pagesize = Integer.parseInt(pagesizeString);
		}
		String pagenumberString = arg0.getParameter("pagenumber");
		int pagenumber = 1;
		if(pagenumberString != null && pagenumberString != ""){
			pagenumber = Integer.parseInt(pagenumberString);
		}
		page p = PeopleService.showPage(pagesize, pagenumber);
		
		arg0.setAttribute("page", p);
		arg0.getRequestDispatcher("index.jsp").forward(arg0, arg1);
 	}

}

5.index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>




Insert title here


	
			
编号 姓名 年龄
${p.id} ${p.name} ${p.age}
onclick="javascript:return false;" >上一页 onclick="javascript:return false;" >下一页

6.mapper.xml中SQL语句



 
 	
 	
 

 

你可能感兴趣的:(Java,ssm-mybatis)