ssh 分頁查詢
先寫公用類PageBean泛型類
public class PageBean<T> {
//當前頁
private Integer currentPage;
//總記錄
private Integer totalCount;
//每頁條數
private Integer pageSize;
//總頁數
private Integer totalPage;
//開始位置
private Integer begin;
//list集合
private List<T> list;
public void setCurrentPage(Integer currentPage) { this.currentPage = currentPage; } public Integer getTotalCount() { return totalCount; } public void setTotalCount(Integer totalCount) { this.totalCount = totalCount; } public Integer getPageSize() { return pageSize; } public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } public Integer getTotalPage() { return totalPage; } public void setTotalPage(Integer totalPage) { this.totalPage = totalPage; } public Integer getBegin() { return begin; } public void setBegin(Integer begin) { this.begin = begin; } public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } }
action方法中查詢所有資料
private Integer currentPage; get/set方法
//分頁方法
public String listpage(){
if(currentPage==null){
currentPage = 1;
}
PageBean<User> pageBean = userService.listpage(currentPage);
//放到與物件裡面
request.setAttribute("pageBean",pageBean);
//放到與物件裡面
request.setAttribute("pageBean",pageBean);
return "listpage";
}
service中方法
//分頁
public PageBean<User> listpage(Integer currentPage) {
PageBean<User> pageBean = new PageBean<User>();
//當前頁
pageBean.setCurrentPage(currentPage);
//總記錄數 呼叫一個方法findCount()
int totalCount = userDao.findCount();
pageBean.setTotalCount(totalCount);
//meiye 條數
int pageSize= 3;
//總頁數
int totalPage = 0;
if(totalCount%pageSize==0){
totalPage = totalCount/pageSize;
}else{
totalPage = totalCount/pageSize+1;
}
pageBean.setTotalPage(totalPage);
//開始位置
int begin = (currentPage-1)*pageSize;
//list集合
List<User> list = userDao.findAll(begin,pageSize);
pageBean.setList(list);
return pageBean;
}
dao層中
//總條數
@SuppressWarnings("all")
public int findCount() {
List<Object> list =(List<Object>) getSession().createQuery("select count(*) from User").list();
if(list!=null && list.size()>0){
Object obj = list.get(0);
Long log= (Long)obj;
int count = log.intValue();
return count;
}
return 0;
}
//反回list集合分頁查詢
@SuppressWarnings("all")
public List<User> findAll(int begin, int pageSize) {
/*//第一種方式
//得到工廠
SessionFactory sessionFactory = this.getHibernateTemplate().getSessionFactory();
Session session = sessionFactory.getCurrentSession();
Query query = session.createQuery("from User");
query.setFirstResult(begin);
query.setMaxResults(pageSize);
List<User> list = query.list();*/
//第二種、使用離線物件和hibernateTemplate實現
//建立離線物件 設定對哪個實體類操作
DetachedCriteria criteria = DetachedCriteria.forClass(User.class);
//呼叫模板方法
List<User> list = (List<User>)this.getHibernateTemplate().findByCriteria(criteria,begin,pageSize);
return list;
}
jsp頁面
<div class="header-info">
共<span class="info-number">[${pageBean .totalCount}]</span>條結果,
分成<span class="info-number">[${pageBean.totalPage}]</span>頁顯示,
當前第<span class="info-number">[${pageBean.currentPage}]</span>頁.
<c:if test="${pageBean.currentPage ne 1}">
[<a href="${pageContext.request.contextPath }/user_listpage?currentPage=${pageBean.currentPage-1}">前一 頁</a>]
</c:if>
<c:if test="${pageBean.currentPage ne pageBean.totalPage}">
[<a href="${pageContext.request.contextPath }/user_listpage?currentPage=${pageBean.currentPage+1}">後一頁</a>]
</c:if>
</div>
相關文章
- SSH框架下的分頁查詢框架
- 【記錄】SSH分頁查詢功能
- SSH整合實現分頁查詢(兩種方式)
- 使用SSH完成條件及分頁查詢的主要程式碼
- Elasticsearch 分頁查詢Elasticsearch
- NET 集合分頁查詢
- AntDesignBlazor示例——分頁查詢Blazor
- MySQL的分頁查詢MySql
- ThinkPhp框架:分頁查詢PHP框架
- 分頁查詢優化優化
- SSH:查詢
- elasticsearch查詢之大資料集分頁查詢Elasticsearch大資料
- MySQL分頁查詢優化MySql優化
- indexdb實現分頁查詢Index
- 分庫分表後的分頁查詢
- MySQL——優化巢狀查詢和分頁查詢MySql優化巢狀
- Oracle總結【SQL細節、多表查詢、分組查詢、分頁】OracleSQL
- 菜品條件分頁查詢
- 資料庫全表查詢之-分頁查詢優化資料庫優化
- ssh的分頁操作
- SSM框架實現分頁查詢例子SSM框架
- MySQL分優化之超大頁查詢MySql優化
- Hibernate5.1+Sqlserver2000分頁查詢SQLServer
- c# winform 實現分頁查詢C#ORM
- (MySQL學習筆記)分頁查詢MySql筆記
- ElasticSearch - 分頁查詢方式二 【scroll】滾動查詢(kibana、Java示例)ElasticsearchJava
- 小書MybatisPlus第4篇-表格分頁與下拉分頁查詢MyBatis
- 關於 groupBy 分組查詢的分頁處理
- 使用Mybatis-plus進行分頁查詢,沒有分頁效果,查詢的資料量超出每頁數量設定MyBatis
- 如何優雅地實現分頁查詢
- HBase學習之二: hbase分頁查詢
- 分頁查詢及其擴充應用案例
- Oracle資料庫中的分頁查詢Oracle資料庫
- SSH:hiberate實現資料的查詢(單查詢和全查詢)
- SpringMVC+Spring Data JPA +Bootstrap 分頁實現和模糊查詢分頁SpringMVCboot
- 百億級資料分表後怎麼分頁查詢?
- 流式查詢1. mybatis的遊標Cursor,分頁大資料查詢MyBatis大資料
- 查詢——二分查詢
- 百億級資料 分庫分表 後怎麼分頁查詢?