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.
Page
També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 、
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:
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 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! ! !