В этой статье описывается технология страниц, основанную на реализации Hibernate. Поделитесь этим для вашей ссылки, следующим образом:
Позвольте мне сначала объяснить принцип внедрения пейджинг на основе Hibernate. Если вы получаете 100 элементов данных из базы данных, нам нужно показать 10 штук на страницу. Если начинать с 30, вам нужно только установить начальную позицию и максимальный результат возврата, чтобы сначала ввести код: обратите внимание, что переданные параметры включают страницу, которая будет введена позже.
Общедоступный список <particle> QueryBypage (Final String username, Final Page) {return this.gethibernateTemplate (). executefind (new hibernatecallback () {public object doinhibernate (сеанс сеанса) Throws hibernateexception, sqlexection {Query query = createquery («Select Art Art Art. art. ort. ort. rat. rat. ort. ort. ort. ort. ort. ort. ort. ort. Query.setParameter (0, имя пользователя);Приведенный выше код клавиши setmaxResults () и setFirstresult (), который устанавливает максимальное значение отображения и начальную точку.
Здесь нам нужен класс инструментов страницы для работы на странице.
Page.java:
пакет com.fenye; public class page {// 1. Количество отображений на страницу (каждая страница) Private int Cally страница; // 2. Общее количество записей (TotalCount) Private Int TotalCount; // 3. Общее количество страниц (общая страница) частная общая страница; // 4. Текущая страница (CurrentPage) Private Int CurrentPage; // 5. начальная точка (BeginIndex) private int beginIndex; // 6. Есть ли предыдущая страница (hasprepage) частное логическое Hasprepage; // 7. Есть ли следующая страница (HasnextPage) Private Boolean HasnextPage; Общественная страница (int int -страница, int totalcount, int total -page, int currentpage, int beginindex, boolean hasprepage, boolean hasnextpage) {this.everypage = каждая страница; this.totalcount = totalCount; this.TotalPage = TotalPage; this.currentPage = currentPage; this.beginindex = beginindex; this.hasprepage = hasprepage; this.hasnextPage = hasNextPage; } // constructor, public page () {} // Создание метода, установите все атрибуты public int getEveryPage () {return very страница; } public void seteveryPage (int verypage) {this.everypage = verypage; } public int getTotalCount () {return TotalCount; } public void cetTotOtalCount (int totalCount) {this.TotalCount = totalCount; } public int getTotalPage () {return TotalPage; } public void cetTotoTalPage (int totalPage) {this.TotalPage = totalPage; } public int getTotalPage () {return TotalPage; } public void cetTotoTalPage (int totalPage) {this.TotalPage = totalPage; } public int getCurrentPage () {return CurrentPage; } public void setCurrentPage (int currentPage) {this.currentPage = currentPage; } public int getBeginIndex () {return BeginIndex; } public void setBeginIndex (int beginIndex) {this.BeginIndex = beginIndex; } public boolean iShaspRepage () {return hasprepage; } public void sethaspRepage (boolean hasprepage) {this.hasprepage = hasprepage; } public boolean iShasNextPage () {return hasNextPage; } public void sethasNextPage (boolean hasnextPage) {this.hasnextPage = hasNextPage; }}Класс инструментов страницы в основном инкапсулирует информацию о странице, сколько данных в общей сложности, сколько отображается на странице, количество начальных точек, общее количество страниц, будь то предыдущая страница, следующая страница и текущая страница.
Кроме того, необходим класс инструментов для рабочих страниц, pageutil.java
пакет com.sanqing.fenye;/*************************************************** ' currentPage = getCurrentPage (CurrentPage); int totalPage = getTotalPage (каждая страница, TotalCount); int beginIndex = getBeginIndex (каждая страница, CurrentPage); логический hasprepage = gethasprepage (currentpage); Boolean hasNextPage = GethasNextPage (TotalPage, CurrentPage); вернуть новую страницу (каждая страница, TotalCount, TotalPage, CurrentPage, BeginIndex, HaspRepage, HasNextPage); } public Static Page CreatePage (страница страницы, int totalCount) {int everpage = geteveryPage (page.geteveryPage ()); int currentPage = getCurrentPage (page.getCurrentPage ()); int totalPage = getTotalPage (каждая страница, TotalCount); int beginIndex = getBeginIndex (каждая страница, CurrentPage); логический hasprepage = gethasprepage (currentpage); Boolean hasNextPage = GethasNextPage (TotalPage, CurrentPage); вернуть новую страницу (каждая страница, TotalCount, TotalPage, CurrentPage, BeginIndex, HaspRepage, HasNextPage); } // Установите количество записей, отображаемых на страницу Public Static int getEveryPage (int verypage) {return verypage == 0? 10: каждая страница; } // Установить текущую страницу Public Static int getCurrentPage (int currentPage) {return CurrentPage == 0? 1: текущая страница; } // Установите общее количество страниц, требуется общее количество записей, сколько публичных статических int getTotalPage (int very страница, int totalCount) {int totalPage = 0; if (totalcount % uard page == 0) {totalPage = totalCount / verypage; } else {totalPage = totalCount / verypage + 1; } return TotalPage; } // Установите отправленную точку, сколько публичных статических int int getBeginIndex (int verypage, int currentpage) {return (currentpage - 1) * eversion page; } // Установить, есть ли предыдущая страница, и текущая страница должна быть общедоступной статической логической GethaspRepage (int currentPage) {return CurrentPage == 1? Неверно: Верно; } // Установить, есть ли следующая, и общее количество страниц и текущая страница требует публичного статического логического GethasNextPage (int totalPage, int CurrentPage) {return CurrentPage == TotalPage || TotalPage == 0? Неверно: Верно; }}Создайте страницу, требуется только 3 параметра. Сколько данных отображается на каждой странице, сколько данных отображается на текущей странице, сколько данных является общим, а остальные 4 параметра могут быть рассчитаны через эти три.
Таким образом, чтобы создать страницу позже, вам нужно только вызвать этот метод инструмента Pageutil.createPage (3 параметра) и вернуть страницу.
Возвращенная страница - это страница предыдущего параметра, то есть страница, которая будет отображаться
Это будет рассматриваться как завершение функции страниц.
Я надеюсь, что описание в этой статье будет полезно для каждого Java -программирования на основе пластинга Hibernate.