Hibernate分頁(yè)的兩種實(shí)現(xiàn)方法
本文實(shí)例講述了Hibernate分頁(yè)的兩種實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
1. criteria分頁(yè)
public Page getPage(int currentPage,int pageSize,Criterion...crts){ Criteria c=session.createCriteria(House.class); List list=null; for (int i = 0; i < crts.length; i++) { c.add(crts[i]); } c.setProjection(Projections.rowCount()); int totalRecord=Integer.valueOf(c.uniqueResult().toString()); c.setProjection(null); c.setFirstResult((pageSize)*(currentPage-1)); c.setMaxResults(pageSize); list=c.list(); Page page=new Page(); page.setCurrentPage(currentPage); page.setPageSize(pageSize); page.setTotalRecord(totalRecord); page.setList(list); return page; }
2. hql分頁(yè)
public Page getPage(int currentPage,int pageSize,String hql,Object...args){ String countHql="select count(*) "+hql.substring(hql.indexOf("from")); Session session=HibernateUtil.getInstance().getSession(); Query query=session.createQuery(countHql); for (int i = 0; i < args.length; i++) { query.setParameter(i, args[i]); } int totalRecord=Integer.valueOf(query.uniqueResult()+""); query=session.createQuery(hql); for (int i = 0; i < args.length; i++) { query.setParameter(i, args[i]); } query.setFirstResult(pageSize*(currentPage-1)); query.setMaxResults(pageSize); List<House> list=(List<House>)query.list(); Page page=new Page(); page.setCurrentPage(currentPage); page.setPageSize(pageSize); page.setTotalRecord(totalRecord); page.setList(list); return page; }
希望本文所述對(duì)大家基于Hibernate框架的Java程序設(shè)計(jì)有所幫助。
- Hibernate緩存詳解
- Spring與Hibernate整合事務(wù)管理的理解
- Java的Hibernate框架中復(fù)合主鍵映射的創(chuàng)建和使用教程
- Java的Hibernate框架結(jié)合MySQL的入門學(xué)習(xí)教程
- 解決Hibernate4執(zhí)行save()或update()無(wú)效問(wèn)題的方法
- 從最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate
- Hibernate延遲加載原理與實(shí)現(xiàn)方法
- Hibernate批量處理海量數(shù)據(jù)的方法
- Hibernate實(shí)現(xiàn)批量添加數(shù)據(jù)的方法
- Hibernate原理及應(yīng)用
相關(guān)文章
java實(shí)現(xiàn)輸出文件夾下某個(gè)格式的所有文件實(shí)例代碼
這篇文章主要介紹了java實(shí)現(xiàn)輸出文件夾下某個(gè)格式的所有文件,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06Mybatis逆向生成使用擴(kuò)展類的實(shí)例代碼詳解
這篇文章主要介紹了Mybatis逆向生成使用擴(kuò)展類的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-05-05Mybatis之a(chǎn)ssociation和collection用法
這篇文章主要介紹了Mybatis之a(chǎn)ssociation和collection用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02使用java基于pushlet和bootstrap實(shí)現(xiàn)的簡(jiǎn)單聊天室
這篇文章主要介紹了使用java基于pushlet和bootstrap實(shí)現(xiàn)的簡(jiǎn)單聊天室的相關(guān)資料,需要的朋友可以參考下2015-03-03Mybatis 數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn)示例
在Java應(yīng)用程序中,與數(shù)據(jù)庫(kù)的連接是非常昂貴的,因此,當(dāng)我們使用MyBatis進(jìn)行數(shù)據(jù)操作時(shí),需要一個(gè)連接池來(lái)分配并管理這些連接,本文主要介紹了Mybatis 數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10Windows環(huán)境IDEA下Ranger1.2.0源碼編譯詳細(xì)流程
本文給大家講解Windows環(huán)境IDEA下Ranger1.2.0源碼編譯過(guò)程,通過(guò)配置Tomcat,發(fā)布?security-admin-web項(xiàng)目,編譯啟動(dòng)tomcat即可完成,需要的朋友參考下2021-06-06java 對(duì)象輸入輸出流讀寫文件的操作實(shí)例
這篇文章主要介紹了java 對(duì)象輸入輸出流讀寫文件的操作實(shí)例的相關(guān)資料,這里使用實(shí)現(xiàn)Serializable接口,需要的朋友可以參考下2017-07-07