关于struts,spring,mybatis分页查询

本文介绍使用SSM框架实现分页查询的方法,包括Action层的分页逻辑处理、MyBatis的数据分页查询语句及JSP页面的分页导航设计。

今天简单做了一个SSM框架的分页查询

action代码:

private static final Integer MAX=4;
	private Integer page=1;
	private Integer endpage;
	private List<Person> personList;
	private PersonService personService;
	
	public Integer getPage() {
		return page;
	}
	public void setPage(Integer page) {
		this.page = page;
	}
	public Integer getEndpage() {
		return endpage;
	}
	public void setEndpage(Integer endpage) {
		this.endpage = endpage;
	}
	public List<Person> getPersonList() {
		return personList;
	}
	public void setPersonList(List<Person> personList) {
		this.personList = personList;
	}
	public static Integer getMax() {
		return MAX;
	}
	
	public PersonService getPersonService() {
		return personService;
	}
	public void setPersonService(PersonService personService) {
		this.personService = personService;
	}
	public String queryList()
	{
		
		Integer RowCount = personService.queryAllPersonRowCount();
		
		endpage= RowCount%MAX==0?RowCount/MAX:RowCount/MAX+1;
		
		if(page<1){
			page=1;
			}
		
		if(page>endpage){
			page=endpage;
		}
		
		Integer start = (page-1)*MAX+1;
		
		this.personList = this.personService.queryPersonByPage(start, MAX);
		
		for(Person p:personList)
		{
			System.out.println("ps_name:"+p.getPs_name());
		}
		
		return SUCCESS;
		
	}

然后是mybatis代码

	<select id="queryPersonByPage" parameterType="java.util.Map"  resultType="com.java.bean.Person" >
		select ps_name,ps_username,ps_password,ps_sex,ps_phone,ps_age,ps_birthday,ps_comment from (
	select t_person.*, row_number()over (order by rowid)rn from t_person) where rn between #{start} and #{end}
	</select>

下面是jsp页面代码:

<p class="paging">
						<s:if test="%{page == 1}">			
							<<首页 <上一页
							</s:if>
							<s:else>
								<<<a href="queryPerson!queryList?page=1">首页</a> <
								<a href="queryPerson!queryList?page=${page-1}">上一页</a>
							</s:else>
							<strong>第${page}页/共${endpage}页</strong>
							<s:if test ="%{page == endpage}">
								下一页 >末页 >>
							</s:if>
							<s:else>
								<a href="queryPerson!queryList?page=${page+1}"> 下一页 ></a>
								<a href="queryPerson!queryList?page=${endpage}">末页 >></a>
							</s:else>
							      
							 <%-- <form action="queryPerson!queryList?page=${skip}" method="get">
								 <input type ="text" maxlength="5" name="skip" width="20px" height="20px">
							 	 <input type ="submit" value = "跳转">
							 </form> --%>
							 <input type ="text" maxlength="5" name="skip" id="skip" width="20px" height="20px" >
							 <input type ="submit" value = "跳转" onclick="pageSkip()" >
	</p>
简单的分页查询大致就是以上步骤
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值