Недавно компания должна выполнить функцию страницы тревоги, которая требует страницы. После проверки много информации, он обнаружил, что PageHelper более подходит.
Поэтому я написал учебник по использованию PageHelper, начиная с нуля, а также записал то, чем я был занят в течение дня.
1. Во -первых, вам нужно добавить зависимость PageHelper в проекте. Здесь я добавил это с Maven.
<dependency> <groupid> com.github.pageHelper </GroupId> <ArtifactId> pageHelper </artifactid> <sersive> 4.1.6 </version> </vehyse>
2. Добавить конфигурацию PageHelper в файл конфигурации Mybatis
<FONIVERUTION> <BUGINS> <!-com.github.pageHelper-это имя пакета, в котором находится класс PageHelper-> <плагин receptor = "com.github.pageHelper.pageHelper"> <!-Этот параметр может быть установлен без настройки в версиях 4.0.0. Номер страницы Pagenum-> <!-Эффект такой же, как у Pagenum в Startpage-> <name = "offetAspagenum" value = "true"/> <!-Этот параметр по умолчанию по умолчанию по умолчанию-> <!-Когда установлено значение true, count Query будет выполнен с использованием Rowbounds Pagination-> <proview name = "rowboundswithcount". pageSize=0 or RowBounds.limit = 0, all results will be queryed --> <!-- (Equivalent to the fact that the page query is not executed, but the result is still Page type) --> <property name="pageSizeZero" value="true"/> <!-- Version 3.3.0 is available - paging parameters are rationalized, false is disabled by default --> <!-- When rationalization is enabled, if Pagenum <1 будет запросить первую страницу, если Pagenum> страницы будут запрашивать последнюю страницу-> <!-Когда рационализация отключена, если Pagenum <1 или Pagenum> страницы возвращают пустые данные-> <name = "in oursable" value = "true"/> <!-версия 3.5.0 доступны-для поддержки Parampage Params). Сопоставление параметров для получения значений из Map или ServletRequest-> <!-Вы можете настроить Pagenum, PageSize, Counte, PageSizezero, разумный, orderby, и не настраивать значение по умолчанию для отображения-> <!-Если вы не понимаете это значение, не копируйте конфигурацию случайно-> <!-<свойство = "params" value = "value =" pagenum = start vage = limfizizizizizizizizizizizize; Supports passing paging parameters through Mapper interface parameters --> <property name="supportMethodsArguments" value="true"/> <!-- always return PageInfo type, check check whether the return type is PageInfo, and none returns Page --> <property name="returnPageInfo" value="check"/> </plugin> </plugins> </configuration>
3. Добавить класс страницы для хранения информации о страницах.
Public Class PageBean <T> реализует Serializable {Private Static Long Long SerialVersionUID = 1L; частный длинный общий объем; // Общее количество записей частного списка <t>; // Результат набор частного Pagenum; // Сколько страниц частного int pageSize; // количество записей на страницу частных страниц; // общее количество страниц частного размера Int; // num текущей страницы <= pagesize public bean (list <t> list) {if (list ancessionof page) {page <t> page = (page <t>) List; this.pagenum = page.getPagenum (); this.pageize = page.getPagesize (); this.total = page.getTotal (); this.pages = page.getPages (); this.list = page; this.size = page.size (); }} public long getTotal () {return total; } public void Centotal (Long Total) {this.Total = otting; } public List <T> getList () {return List; } public void SetList (список <t> list) {this.list = list; } public int getSize () {return Size; } public void setSize (int size) {this.size = size; } public int getPagenum () {return pagenum; } public void setPagenum (int pagenum) {this.pagenum = pagenum; } public int getPageSize () {return PageSize; } public void setPagesize (int pageSize) {this.pagesize = pagesize; } public int getPages () {return Pages; } public void set -setPages (int pages) {this.pages = pages; }}Ниже приведен код бизнес -логики
4. Во -первых, запустите из файла mapper.xml, управляйте SQL базы данных и узнайте данные, которые нам нужны
<select id = "selectalllist" parametertype = "com.alarm.bean.alarmparammodel" resultmap = "armedmap"> select message_id, seqnum, message_type, process_status, distribution_status, processor, even_time, close_id_id, group_id, warning_level, message_content от td_lim
5. Метод интерфейса Mapper
public List <drampalmodel> selectalllist (модель AlarmParammodel);
6. Метод интерфейса обслуживания
DataGrid selectAlllist (модель AlarmParramModel, int pagenum, int pageSize);
7. Класс реализации услуг
Здесь важно отметить, что это основная логика страниц. Pagenum представляет номер страницы, PageSize представляет количество отображаемых страниц, метод startPag - это начальная страница, метод порядка - сортировать данные в соответствии с определенным полем, здесь я использую порядок убывания OCCR_TIME (desc)
public DataGrid selectalllist (модель AlarmParramModel, int pagenum, int pageSize) {pageHelper.StartPage (pagenum, pageSize); PageHelper.orderby ("Even_time desc"); List <dramparammodel> list = this.alarmmgrmapper.selectalllist (model); PageInfo <sallyparrammodel> pageInfo = new PageInfo <artistrAmprammodel> (список); DataGrid dataGrid = new DataGrid (pageInfo.getTotal (), pageInfo.getList ()); вернуть DataGrid; }8. Я заметил, что использовал здесь класс DataGrid, который является классом, используемым для передачи данных на стойку регистрации, включая общее (общее количество) и строк (данные)
открытый класс DataGrid {Private Long Total; Частный список Rows = new ArrayList <> (); public DataGrid () {super (); } public DataGrid (Long Total, List Rows) {super (); this.total = total; this.row = rows; } public long getTotal () {return total; } public void Centotal (Long Total) {this.Total = otting; } public List getRows () {return Rows; } public void setRows (List Rows) {this.rows = row; }}9. Начните писать слой контроллера и вызовать метод, который я написал раньше
Здесь следует отметить, что смещение и лимит - это номера страниц, отправленные с стойки регистрации, и количество отображаемых страниц на страницу. В отличие от смещения и предела начальной загрузки, смещение представляет собой смещение, то есть, если 10 части данных отображаются на страницу, смещение, представленное второй страницей в начальной загрузке, составляет 10, а первая страница и третья страница - 0 и 20 соответственно. И мое смещение здесь относится к Pagenum.
@Requestmapping (value = "/armerianfo/list", method = {requestMethod.get, requestMethod.post}) @Responsebody public DataGrid armaginfo (warmparrammodel, @requestparam (value = "Offset", DefaultValue = "0", требуется = false) pagenum, "Offset", DefaultValue = "0", FALSE) integer pagenum, " @RequestParam (value = "Limit", defaultValue = "10", обязательно = false) Integer Pageize) {dataGrid DataGrid = this.alarmMgrService.selectallList (model, pagenum, pageSize); вернуть DataGrid; }10. Теперь запрос на стойке регистрации может получить данные бэкэнд и их на плюс. Я опубликую конфигурацию стола на стойке на стойке регистрации.
$ ('#tb_departments'). Bootstraptable ({url: 'http://10.1.234.134:8088/api/alarminfo/list', // Запросить URL (*) Метод: «Получить», // Метод запроса (*) Стриг: false, // Остановить линейный интерватный цветной диаг. Свойство должно быть установлено (*) Переворот: true, // отображать подкидку (*) только INFOPAGINATION: TRUE, // Установить TRUE, чтобы отобразить только общее количество данных, а не кнопку Pagination. Способность: «Сервер», // Метод страниц: клиентская страница для клиента, страница сервера сервера (*). Не введет сервер, поэтому я лично чувствую, что это мало важно для Strictsearch: True, ShowColumns: False, // Все ли столбцы отображаются ShowRefresh: false, // делает линейный дисплей на кнопке Refresh: // What Enective Click To Clock, чтобы выбрать, чтобы выбрать, чтобы выбрать, чтобы выбрать, чтобы выбрать, чтобы выбрать, чтобы выбирать, чтобы выбирать, чтобы выбирать. Атрибут высоты не установлен, таблица автоматически чувствует высоту таблицы в соответствии с количеством записей, уникальный: «id», // Уникальная идентификация каждой строки, как правило, является основным ключевым столбцом Showtoggle: false, // делает кнопку Toggle для подробного представления и списка View Cardview: false, // делает подробный просмотр. PaginationDetailHalign: «Право», Я не использовал кнопки пейджинга, которые поставляются с начальной загрузкой. Я сам написал группу кнопок в JQ. В следующей статье я опубликую код кнопки, чтобы его можно было настроить в более высокой степени ~ Вы также можете использовать кнопки подкидки с начальной подборой и просто изменить конфигурацию.
Выше приведено подробное объяснение страниц SpringMVC+Mybatis+PageHelper, представленного вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!