springBoot + easyui + spring data JPA implementa paginação

  Após inúmeras tentativas, finalmente percebi a função de paginação e senti a dor de ser um programador. 
É fácil implementar paginação na recepção da easyui! ! A embalagem é ótima. . Aqui, apenas introduza o grande poço encontrado em segundo plano! !

Dados Spring O JPA oferece suporte perfeito para consultas de paginação e classificação. Ao implementar a paginação, você precisa herdar PagingAndSortingRepository.

Um método é definido em XxxRepository.java. Por exemplo:
Page<Department> findById(Integer id, Pageable pageable);
  Pageableé uma interface definida na biblioteca Spring Data, a interface é uma abstração de todas as informações relacionadas à paginação. Através dessa interface, podemos obter todas as informações relacionadas à paginação (como pageNumber, pageSize etc.), para que o Jpa possa obter uma instrução Sql com informações de paginação através do parâmetro pageable.
  PageTambém é uma interface fornecida pela Spring Data. Essa interface representa uma parte da coleta de dados e seus próximos dados, o total de dados e outras informações relacionadas. Através dessa interface, podemos obter as informações gerais dos dados (total de dados, total de páginas ...) e Informações sobre dados atuais (coleta de dados atuais, número atual de páginas, etc.)

   O Spring Data Jpa nos ajudará a estender a instrução Sql por meio de convenções de nomenclatura, também nos ajudará a lidar com parâmetros do tipo Pageable, a converter parâmetros pagináveis ​​em condições nas instruções SQL e, ao mesmo tempo, nos ajudará a lidar com o valor de retorno do tipo Page Quando o tipo de valor de retorno é Página, o Spring Data Jpa colocará as informações gerais dos dados, as informações dos dados atuais e as informações de paginação no valor de retorno. Dessa forma, podemos realizar comodamente uma consulta de paginação personalizada.
O método em serviço:
public Page<T> findAllT(Pageable pageable){
    return this.xxxRepository.findAll(pageable);
}
public  Page<T> findById(Integer id,Pageable pageable){
    return this.xxxRepository.findById(id,pageable);
}```
#####controller中的方法(用的springBoot技术,controller上有@RestController注解):

// Todas as páginas exibem
@RequestMapping (value = "/ displayAll", método = RequestMethod.GET)
public map

O problema:

1 、

Mensagem de erro

O erro mostrado é porque não há comprimento e o modelo retornado não é compatível com o modelo necessário.
2. Depois que
  o método é gravado em segundo plano (o código no momento é: map.put ("linhas", lista));), o primeiro plano não é exibido. Execute o URL correspondente sozinho para obter uma captura de tela parcial dos dados JSON da seguinte maneira:

Captura de tela parcial
Conforme mostrado na figura acima, pode-se ver que o método de paginação em segundo plano está correto e por que você não pode obter dados JSON?

O motivo é que o modelo que retorna dados JSON não corresponde ao modelo exigido pelo easyui datagrid (o datagrid requer uma matriz de modelos ou um objeto contendo linhas e total). Veja a imagem abaixo

O modelo de dados requerido pela paginação easyui
O modelo dos dados JSON que obtivemos é o seguinte:

 {
"total":15,
"rows":{
"content":[
{"id":1,"Name":"XXXXX","school":{"id":1,"schoolName":"XXXX","departments":[{"id":1,"departmentName":"XXXXX","school":1},","school":3},{"id":15,"departmentName":"jjjj","school":3}]}},{"id":9,"departmentName":"xxx","school":1},{"id":10,"departmentName":"xxx","school":2},{"id":13,"departmentName":"xxx","":1}
],
"last":false,
"totalPages":2,
"totalElements":15,
"number":0,
"size":10,
"sort":null,
"first":true,
"numberOfElements":10
}
}

  As linhas que obtemos não são uma matriz ([]), é um objeto ({}) e sua propriedade de conteúdo é o modelo que precisamos. Então modifique map.put ("linhas", list.getContent ()) no controlador, finalmente exibido com sucesso.
Se houver algo errado, indique-o! ! !

Publicado 10 artigos originais · Gosto 16 · Visitantes 10.000 ou mais

Acho que você gosta

Origin blog.csdn.net/xl132598798/article/details/61614634
Recomendado
Clasificación