1.在util包下新建PageUtil类
pageutil类代码如下:
package com.fanyu.myGdProject;
import com.fanyu.myGdProject.entity.Alarm;
import java.util.List;
public class PageUtil {
private int currentPageNum; //当前要看哪一页
private int pageSize;//每页显示的默认条数(可以固定也可以用户自定义,在这里是用户自定义)
private int totalSize;//总记录条数
private int startIndex;//查询开始记录的索引 limit ? ?
private int totalPageNum;//总页数
private int prePageNum;//上一页
private int nextPageNum;//下一页
private List<Alarm> records;//当前页的记录集(该页显示的所有数据)
//用于显示页面上的导航的页号 用户可自定义
private int startPageNum;
private int endPageNum;
private String url;
//使用构造方法,传递必要的两个参数.第一个是页码,第二个是每页条数,第三个总记录条数
public PageUtil(int currentPageNum,int pageSize,int totalrecords)
{
this.pageSize = pageSize;
this.currentPageNum=currentPageNum;
this.totalSize=totalrecords;
//计算开始记录索引
this.startIndex=(currentPageNum-1)*pageSize;
//计算总页数
this.totalPageNum=totalSize%pageSize==0?totalSize/pageSize:totalSize/pageSize+1;
//计算开始和结束页号 这个根据自身可设计
if(totalPageNum>9)
{
startPageNum=currentPageNum-4;
endPageNum=currentPageNum+4;
if(startPageNum<1)
{
startPageNum=1;
endPageNum=startPageNum+8;
}
if(endPageNum>totalPageNum)
{
endPageNum=totalPageNum;
startPageNum=endPageNum-8;
}
}
else
{
startPageNum=1;
endPageNum=totalPageNum;
}
}
public int getStartPageNum() {
return startPageNum;
}
public void setStartPageNum(int startPageNum) {
this.startPageNum = startPageNum;
}
public int getEndPageNum() {
return endPageNum;
}
public void setEndPageNum(int endPageNum) {
this.endPageNum = endPageNum;
}
public int getPrePageNum() {
prePageNum=currentPageNum-1;
if(prePageNum<=0)
{
prePageNum=1;
}
return prePageNum;
}
public int getNextPageNum() {
nextPageNum=currentPageNum+1;
if(nextPageNum>totalPageNum)
{
nextPageNum=totalPageNum;
}
return nextPageNum;
}
public int getCurrentPageNum() {
return currentPageNum;
}
public void setCurrentPageNum(int currentPageNum) {
this.currentPageNum = currentPageNum;
}
public int getPageSize() {
return pageSize;
}
// public int getPreOrderedSize(){
//
// }
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalSize() {
return totalSize;
}
public void setTotalSize(int totalSize) {
this.totalSize = totalSize;
}
public int getStartIndex() {
return startIndex;
}
public void setStartIndex(int startIndex) {
this.startIndex = startIndex;
}
public int getTotalPageNum() {
return totalPageNum;
}
public void setTotalPageNum(int totalPageNum) {
this.totalPageNum = totalPageNum;
}
public List getRecords() {
return records;
}
public void setRecords(List records) {
this.records = records;
}
public void setPrePageNum(int prePageNum) {
this.prePageNum = prePageNum;
}
public void setNextPageNum(int nextPageNum) {
this.nextPageNum = nextPageNum;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
2.dao持久层及其实现
package com.fanyu.myGdProject.dao;
import com.fanyu.myGdProject.entity.Alarm;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository("alarmDao")
public interface AlarmDao {
void insert(Alarm alarm);
void delete(Integer id);
void deleteAllBySid(Integer sid);
void update(Alarm alarm);
List<Alarm> selectAll();
//int total();
//
List<Alarm> selectAllAlarms(@Param("startIndex") int startIndex, @Param("pageSize") int pageSize) throws Exception;//limit ?,?
/
Alarm selectById(Integer id);
}
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.4//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fanyu.myGdProject.dao.AlarmDao">
<!--配置实体类和表的对应关系-->
<!-- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">-->
<!-- <property name="dataSource" ref="dataSource"/>-->
<!-- <!–这个包里的可以自动设置别名,这样在映射文件里使用实体类类名的时候就不需要用全称了,可以简化操作–>-->
<!-- <property name="typeAliasesPackage" value="com.fanyu.myGdProject.entity"/>-->
<!-- </bean> 可以直接使用实体类名称-->
<resultMap id="resultMap" type="Alarm">
<id property="id" column="id" javaType="Integer"/>
<result property="sid" column="sid" javaType="Integer"/>