SpringMVC+Hibernate tornou -se uma integração de estrutura que muitas pessoas usam agora. Recentemente, tenho aprendido e explorado. Como muitos projetos em projetos de desenvolvimento usam a função de paginação da lista, aqui nos referimos a algumas informações na Internet e usamos Springmvc4+hibnerate4 para resumir enquanto aprendemos e resumindo -o e para obter o código da função de paginação. Embora não seja necessariamente universal, é de valor de referência para iniciantes.
O processo básico de implementação de paginação:
1. Categoria de ferramenta de paginação
Ideias:
1. Escreva uma classe de página e defina atributos, que devem incluir: Conjunto de resultados de consulta, Total de registros de consulta, registros de exibição por página, página atual e outros atributos.
2. Escreva a classe da página e defina o método, que deve incluir: número total de páginas, gravação inicial da página atual, página inicial, próxima página, página anterior, última página e outros métodos
O código é o seguinte:
pacote cn.myic.model; importar java.util.list; public class Page <E> {// Lista privada do conjunto de resultados <e>; // Número total de registros de consulta private int TotalRecords; // quantos registros por página private int PageSize; // que página private int pageno; /*** @return Número total de páginas**/public int getTotalPages () {return (totalRecords+pagageSize-1)/Pagesize; } / *** Calcule o registro atual da página inicial* @param PageSize número de registros por página* @param CurrentPage Qual página atualmente é* @return página atual Iniciar o número de registro* / public int controfSet (int curtpage, int Pagesize) {int offset = PageSize* (currentPage-1); retornar deslocamento; } / *** @return home Page** / public int gettoppageno () {return 1; } / *** @return página anterior** / public int getPreviousPageno () {if (pageno <= 1) {return 1; } retornar pageno-1; } / *** @return Próxima página** / public int getNextpageno () {if (pageno> = getBottompageno ()) {return getBottompageno (); } retornar pageno+1; } / *** @return Última página** / public int getBottompageno () {return getTotalPages (); } Lista pública <E> getList () {Lista de retorno; } public void setList (list <e> list) {this.list = list; } public int getTotalRecords () {return totalRecords; } public void SettotalRecords (int totalRecords) {this.TotalRecords = totalRecords; } public int getPagesize () {return pagageSize; } public void setPagesize (int PAGESIZE) {this.pagesize = Pagesize; } public int getpageno () {return pageno; } public void setPageno (int pageno) {this.pageno = pageno; }} 2. Método da camada
Ideia: Defina um método de consulta de paginação, defina parâmetros: quando o número da página e quantos registros são exibidos em cada página
O código é o seguinte:
/ *** Consulta de paginação* @Param HQL Condições de consulta* @param deslocamento Comece a gravar* @param Comprimento de consulta Vários registros por vez* @return retorna a coleta de registros de consulta*/ @suppresswarnings ("desmarcada") @Override Public List <course> QueryForpage (Int Offset, curso) tente {Query Query = getSession (). Createequery ("do curso"); query.setfirstresult (deslocamento); query.setMaxResults (comprimento); entityList = query.list (); } Catch (RunTimeException re) {tiro re; } retornar entityList; } 3. Método da camada de serviço
Ideias:
1. Defina um método de consulta de paginação e defina parâmetros: quando o número da página e quantos registros são exibidos em cada página, o objeto de paginação (página) que retorna o resultado da consulta
2. Através da camada DAO, obtenha o número total de registros da entidade de consulta
3. Obtenha o número de registros que começam na página atual
4. Através da camada DAO, obtenha o conjunto de resultados de consulta de paginação
5. Situado no objeto de página
O código é o seguinte:
/** * Pagination query* @param currentPage Current page number: the number of pages displayed now* @param pageSize Number of records displayed per page* @return Bean that encloses the pagination information (including the record set list) * */ @SuppressWarnings("unchecked") @Override public Page queryForPage(int currentPage,int pageSize) { // TODO Auto-generated method stub Page page = new Page (); // Número total de registros int allrow = CourseDao.getAllRowCount (); // A página atual começa a gravar int offset = Page.CountOffSet (CurrentPage, Pagesize); // Lista de consultas de consulta de paginação <course> list = CourseDao.QueryForpage (deslocamento, Pagesize); Page.SetPageno (CurrentPage); Page.SetPagesize (PageSize); Page.setTotalRecords (AllRow); Page.SetList (lista); página de retorno; } 4. Método da camada do controlador
O design da camada do controlador, ao fazer uma consulta de giro da página de operação, você só precisa passar o parâmetro atual do número da página.
O código é o seguinte:
@RequestMapping (value = "/showall.do") public string findAllCourse (httpServletRequest Request, httpServletResponse resposta) {try {string pageno = request.getParameter ("pageno"); if (pageno == null) {pageno = "1"; } Página página = CourseService.QueryForPage (Integer.Valueof (Pageno), 10); request.setAttribute ("página", página); List <Course> Course = Page.getList (); request.setattribute ("cursos", curso); } catch (Exceção e) {e.printStackTrace (); } retornar "curso/curso_list"; } 5. Visualize a tela JSP da camada
Vários botões para paginar páginas JSP são exibidos de acordo com o julgamento do número atual da página.
O código é o seguinte:
<td colspan = "6" align = "Center" bgcolor = "#5ba8de"> TOTAL $ {Page.totalrecords} Recordstotal $ {Page.totalPages} a página atual <br> <a href = tipo = "Button" name = "Fristpage" value = "home"/> </a> <c: escolha> <c: quando test = "$ {page.pageno! = 1}"> <a href = "$ {path} /course/showall.do?pageno = $ {page.previouspppeno}" /> </a> </c: when> <c: Caso contrário> <input type = "button" desabiled = "desativado" name = "anteriorpage" value = "página anterior"/> </c: caso contrário, href = "$ {path} /course/showall.do?pageno = $ {Page.nextpageno}"> <input type = "button" name = "nextpage" value = "nextpage"/> </a> </c: when> <c: caso contrário, <Genet = "Buttle" "desabilitado =" </a> </c: when> <c: caso contrário, <GeT = "Buttle" "desativado" "</a> </c: when> <c: caso contrário, <GeT =" Button "" Disabled = "</a> </c: when> <c: caso contrário <ger> <gut Type =" Button "Disabed =" " </c: escolha> <a href = "$ {path} /course/showall.do?pageno = $ {page.bottompageno}"> <input type = "button" name = "lastpage" value = "última página"/> </a> </td> </tr> </tr> "Efeito da página:
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.