Mybaties下的分页功能的实现
jsp页面
<!-- 页码 -->
<div class="ipRListNav2">
<a href="zyxx.do?findZyxx¤tPage=1">首页</a>
<c:forEach begin="1" end="${page.totalPage}" var="p" >
<c:choose>
<c:when test="${page.currentPage==p}">
<c:if test="${p==1}">
<c:if test="${page.totalPage>1}">
<a href="zyxx.do?findZyxx¤tPage=${p+1}">下一页</a>
</c:if>
</c:if>
<c:if test="${p>1}">
<c:if test="${p<page.totalPage}">
<a href="zyxx.do?findZyxx¤tPage=${p-1}">上一页</a>
<a href="zyxx.do?findZyxx¤tPage=${p+1}">下一页</a>
</c:if>
<c:if test="${p==page.totalPage}">
<a href="zyxx.do?findZyxx¤tPage=${p-1}">上一页</a>
</c:if>
</c:if>
</c:when>
</c:choose>
</c:forEach>
<a href="zyxx.do?findZyxx¤tPage=${page.totalPage}">末页</a>
当前 <span class="STYLE1">${page.currentPage}</span>/${page.totalPage} 页 转到
<input name="pageIndex" id="pageIndex" class="navIpt" type="text" onblur="if(this.value=='' || Number(this.value)!=this.value)this.value=1;" value="1" />页
<input name="" value="GO" class="navBtn" type="button" onclick="goPage2(document.getElementById('pageIndex').value);" />
</div>
<script type="text/javascript">
function goPage2(currentPage){
alert("go");
var total = ${page.totalPage};
var index = currentPage.indexOf(".");
if(index!=-1){
alert("输入数字必须为整数!请重新输入!");
return;
}
if(currentPage<=0){
alert("输入必须大于0!请重新输入!");
return;
}
if(currentPage>total){
alert("输入数字过大!请重新输入!");
return;
} location.href="zyxx.do?findZyxx¤tPage="+currentPage+"";
}
</script>
page 类
package org.lq.ssm.page;
public class Page {
// 分页时输入的参数
private int currentPage = 1; // 当前页码
private int pageSize = 10; // 每页显示的行数
// 写分页SQL时需要的条件,由输入参数计算而来
private int begin; // 当前页的起始值
private int end; // 当前页的终止值
// 用于计算总页数
private int rows; // 总行数
// 总页数,由rows和pageSize计算而来
private int totalPage;
public int getBegin() {
begin = (currentPage - 1) * pageSize;
return begin;
}
public int getEnd() {
end = currentPage * pageSize + 1;
return end;
}
public int getTotalPage() {
if(rows==0){
totalPage = 1;
}else if (rows % pageSize == 0) {
totalPage = rows / pageSize;
} else {
totalPage = rows / pageSize + 1;
}
return totalPage;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getRows() {
return rows;
}
public void setRows(int rows) {
this.rows = rows;
}
}
Controller
@RequestMapping(params="findZyxx")
public String findZyxx(Page page,Model m){ m.addAttribute("professionList", professionBiz.findAll(page));
page.setRows( professionBiz.count());
m.addAttribute("page",page);
return "view/profession/professioninfo/professioninfo_list"; }
实现类
public List<Profession> findAll(Page page) {
int begin =page.getBegin();
int end= page.getEnd();
return professionDao.findPage(begin,end);
}
mapper文件中sql
<select id="findPage" resultMap="profession_map">
select * from (select a.*,rownum r from ( select * from zyml_table ) a) where r < #{end} and r > #{begin}
<!-- select * from zyml_table -->
</select>
效果展示

Mybaties下的分页功能的实现的更多相关文章
- SpringMVC框架下实现分页功能
1.创建实体类Page.java @Entity public class Page { private int totalRecord;// 表示查询后一共得到多少条结果记录 private int ...
- 简单封装分页功能pageView.js
分页是一个很简单,通用的功能.作为一个有经验的前端开发人员,有义务把代码中类似这样公共的基础性的东西抽象出来,一来是改善代码的整体质量,更重要的是为了将来做类似的功能或者类似的项目,能减少不必要的重复 ...
- Asp.net MVC3表格共用分页功能
在建立的mvc3项目中,在Razor(CSHTML)视图引擎下,数据会在表格中自动的生成,但分页没有好的控件实现,这里我们开发了设计了一个分页的模板,适合于没有数据提交和有数据提交的分页的分页. 第一 ...
- 自己封装的JS分页功能[用于搭配后台使用]
* 2016.7.03 修复bug,优化代码逻辑 * 2016.5.25 修复如果找不到目标对象的错误抛出. * 2016.5.11 修复当实际页数(pageNumber)小于生成的页码间隔数时的bu ...
- 一行代码调用实现带字段选取+条件判断+排序+分页功能的增强ORM框架
问题:3行代码 PDF.NET是一个开源的数据开发框架,它的特点是简单.轻量.快速,易上手,而且是一个注释完善的国产开发框架,受到不少朋友的欢迎,也在我们公司的项目中多次使用.但是,PDF.NET比起 ...
- 【jQuery 分页】jQuery分页功能的实现
自写的jQuery实现分页功能的分页组件: 功能效果如下: 分页组件就是上图中的三部分, 分别放在表格上部 和下部 . 其中, 1>>>页面的代码如下: product.jsp 其 ...
- spring和mybatis集成,自动生成model、mapper,增加mybatis分页功能
软件简介 Spring是一个流行的控制反转(IoC)和面向切面(AOP)的容器框架,在java webapp开发中使用广泛.http://projects.spring.io/spring-frame ...
- GridView使用自带分页功能时分页方式及样式PagerStyle
// 转向地址:http://www.bubuko.com/infodetail-412562.html GridView分页,使用自带分页功能,类似下面样式: 在aspx页面中,GridView上的 ...
- jsp、js分页功能的简单总结
一.概述 首先,我们要明确为何需要分页技术,主要原因有以下: 1.分页可以提高客户体验度,适当地选择合适的数据条数,让页面显得更有条理,使得用户体验感良好,避免过多数据的冗余. 2.提高性能的需要.分 ...
随机推荐
- HDU 6125 Free from square (状压DP+分组背包)
题目大意:让你在1~n中选择不多于k个数(n,k<=500),保证它们的乘积不能被平方数整除.求选择的方案数 因为质数的平方在500以内的只有8个,所以我们考虑状压 先找出在n以内所有平方数小于 ...
- 使用yum方式安装mysql5.6
1.新开的云服务器,需要检测系统是否自带安装mysql # yum list installed | grep mysql 2.如果发现有系统自带mysql,果断这么干 # yum -y remove ...
- nginx1.15.8源码安装
useradd www -s /sbin/nologin -M yum -y install gcc pcre-devel openssl-devel cd /usr/local/src wget ...
- sql where条件子句
where中可用的运算符: where 的执行 是从右到左: where的SQL优化:(where条件特别多的情况下,效果明显) 对于and,应该尽量把假的放到右边. 对于or,应该尽量把真的放到右边 ...
- 【codeforces 794C】Naming Company
[题目链接]:http://codeforces.com/contest/794/problem/C [题意] 有n个位置; 两个人; 每个人都有n个字符组成的集合s1,s2(可以有重复元素); 然后 ...
- Java基础学习总结(48)——Java 文档注释
Java只是三种注释方式.前两种分别是// 和/* */,第三种被称作说明注释,它以/** 开始,以 */结束. 说明注释允许你在程序中嵌入关于程序的信息.你可以使用javadoc工具软件来生成信息, ...
- oracle刚開始学习的人经常使用操作100问
oracle刚開始学习的人经常使用操作100问 1. Oracle安装完毕后的初始口令? internal/oracle sys/change_on_install system/manager ...
- mariadb克隆
oracle有克隆安装,事实上mysql/mariadb相似.仅仅需简单几步就能够直接在异机直接启动. 环境: node01安装完毕的mariadb; node02一个新机器 如今将node01克隆到 ...
- 源泉书签,助您管理海量收藏。www.yuanquanshuqian.com 今日更新:支持了导入url为js代码的书签
源泉书签,助您管理海量收藏.www.yuanquanshuqian.com 今日更新:支持了导入url为js代码的书签
- BZOJ2154: Crash的数字表格 & BZOJ2693: jzptab
[传送门:BZOJ2154&BZOJ2693] 简要题意: 给出n,m,求$\sum_{i=1}^{n}\sum_{j=1}^{m}LCM(i,j)$ 题解: 莫比乌斯反演(因为BZOJ269 ...