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.提高性能的需要.分 ...
随机推荐
- BZOJ 4372/3370 烁烁的游戏/震波 (动态点分治+线段树)
烁烁的游戏 题目大意: 给你一棵$n$个节点的树,有$m$次操作,询问某个节点的权值,或者将与某个点$x$距离不超过$d$的所有节点的权值都增加$w$ 动态点分裸题 每个节点开一棵权值线段树 对于修改 ...
- js追加元素
直接运行 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...
- Myeclipse学习总结(9)——MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
众所周知MyEclipse是一个很强大的Java IDE,而且它有许多开源免费又好用的插件,这些插件给我们开发过程中带来了许多方便.插件具有针对性,例如,你如果做安卓开发,可能需要一个ADT(Andr ...
- 洛谷——P1352 没有上司的舞会
https://www.luogu.org/problem/show?pid=1352#sub 题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树, ...
- POJ 1107
水题一道,注意取模时不能为0 #include <iostream> #include <algorithm> #include <cstring> #includ ...
- spring RestTemplate 实例(NameValuePair)
第一种: public List<NameValuePair> getThirdsysPermissionRest(String url,ThirdsysFuncpDTO thirdsys ...
- 安卓ProgressBar水平进度条的颜色设置
安卓系统提供了水平进度条ProgressBar的样式,而我们在实际开发中,差点儿不可能使用默认的样式.原因就是"太丑"^_^ 所以我们在很多其它的时候须要对其颜色进行自己定义,主要 ...
- Xamarin部署时遇到错误: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
1 把adb命令加入到环境变量. ADB 的位置:C:\Users\USER\AppData\Local\Android\android-sdk\platform-tools 2. 卸载包,执行(是a ...
- Ubuntu 16.04 安装 Open Jdk
sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-7-jdk
- VisualStudio UnitTest FrameWork
当创建单元测试时,Microsoft.VisualStudio.TestTools.UnitTesting的名字控件会添加到测试项目中,该名字控件中包含很多有用的类: 断言类:在单元测试中验证条件 初 ...