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 5762 Teacher Bo ( 暴力 )
链接:传送门 题意:给出N个点( Xi , Yi ),和点的最远位置M,询问是否有这样的四个点 (A,B,C,D)(A<B,C<D,A≠CorB≠D) ,AB的曼哈顿路径长度等于CD的曼哈 ...
- 半虚拟化驱动virtio-Windows
下载网站 Downloads - KVM http://www.linux-kvm.org/page/Downloads yum 安装: [root@kvm-server ~]# wget https ...
- JavaScript div 上下运动实例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- django开发微信公众平台遇到的问题记录
在pythonanywhere.com上使用django开发微信公众平台应用,结果用户发送的信息,微信服务器一次也没有成功转发到pythonanywhere上来,但是用接口测试工具调试却发现是正常的, ...
- 【BZOJ 1486】 [HNOI2009]最小圈
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 我们可以只想那个均值最小的环. 我们不知道那个环由哪些边构成 但我们可以把每条边都减掉mid 那个环受到的影响是什么呢? 如果这个均 ...
- ASP.NET-常用正则表达式
常用正则表达式 正则: [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}", ErrorMes ...
- jquery-常用插件集合
001.弹出消息插件toastr https://github.com/CodeSeven/toastr 002.弹出页面全屏插件 https://github.com/sindresorhus/sc ...
- 【Linux】进程调度概述
1 可运行队列 (基于实时进程调度) 调度程序中最主要的数据结构式运行队列(runqueue).可运行队列是给定处理器上的可运行进程的链表,每一个处理器一个. 每一个可投入运行的进程都唯一的归属于一个 ...
- UVA - 10229 Modular Fibonacci 矩阵快速幂
Modular Fibonacci The Fibonacci numbers (0, 1, 1, 2, 3, 5, 8, 13, 21, 3 ...
- nyoj--1237--最大岛屿(dfs+数据处理)
最大岛屿 时间限制:1000 ms | 内存限制:65535 KB 难度: 描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自己的的战 ...