要实现分页时 原理是怎么样的??
我的理解是..
直接取出全部 放到session里 只在jsp中来回控制呢??
还是 每次从数据库中取出全部记录后 提取要现实的部分放到session里 ???(等于点一下页面数 就访问一次数据库)各位发表一下意见吧
我还是个初学者 或许我理解的压根就都不对(我用structs hibernate)
我的理解是..
直接取出全部 放到session里 只在jsp中来回控制呢??
还是 每次从数据库中取出全部记录后 提取要现实的部分放到session里 ???(等于点一下页面数 就访问一次数据库)各位发表一下意见吧
我还是个初学者 或许我理解的压根就都不对(我用structs hibernate)
我一直用一个 自定义pageModel 类 手动 分页xxxxxxxxx/**
* 分页处理类
* @author Administrator
*
*/
public class PageModel {
//当前是第几页
private int pageNo;
//每页显示数量(大小)
private int pageSize;
//总记录数
private int toTalRecords;
//总页数
private int toTalPageNos; //查询结果集list
private List resultList;
/**
* 拿到当前是第几页
* @return
*/
public int getPageNo() {
return pageNo;
} /**
* 设置当前是第几页
* @param pageNo
*/
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
} /**
* 拿到每页显示数量
* @return
*/
public int getPageSize() {
return pageSize;
} /**
* 设置每页显示数量
* @param pageSize
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
} /**
* 拿到总记录数
* @return
*/
public int getToTalRecords() {
return toTalRecords;
} /**
* 设置总记录数
* @param toTalRecords
*/
public void setToTalRecords(int toTalRecords) {
this.toTalRecords = toTalRecords;
} /**
* 拿到总页数
* @return
*/
public int getToTalPageNos() {
return (this.toTalRecords+this.pageSize-1)/this.pageSize;
} /**
* 设置总页数
* @param toTalPageNos
*/
public void setToTalPageNos(int toTalPageNos) {
this.toTalPageNos = toTalPageNos;
} /**
* 放回查询结果集
* 分页查询
* @return
*/
public List getResultList() {
return resultList;
} /**
* 设置查询结果集
* @param resultList
*/
public void setResultList(List resultList) {
this.resultList = resultList;
}}然后在 jsp 页面里 拿到 结果集实例pageModel 想怎么用就怎么用
还没用到 框架 知识有限 望高手补充。。其实 要查询多少 也怎么保存 也是有讲究的
“还是 每次从数据库中取出全部记录后 提取要现实的部分放到session里 ???(等于点一下页面数 就访问一次数据库)
”分页查询 我认为就是 避免 全部查询结果出来 而使 用到哪里 就查哪里
setMaxResults();进行分页
(主要研究了java语言方面 对数据库了解不深 都是看到书中简单的查询语句用到的
看来非得多研究数据库不可了)
3楼的 那2方法不错~~
<testPaging:paging pageSize="4" numberCount="5" virtualCount="111"/>
就可以实现分页了~~~~~
<testPaging:paging pageSize="4" numberCount="5" virtualCount="111"/>
就可以实现分页了~~~~~
JAVA支持自定义标签···