我在Spring Boot中使用angular 7,并且我在使用mat-table,我不想一次加载例如数据库中的所有数据,我只想在单击mat的下一页时加载数据-表。 和这张图片作为我的垫子桌子。
我如何在7号角靴和弹簧靴中一起使用,如果有人有解决方案,请给我,谢谢。
答案 0 :(得分:1)
在JpaRepository
的{{1}}中有一个Spring-data-jpa
概念,在您的回购工具Pageable
中而不是JpaRepository
(它在内部扩展了CrudRepository
)
您可以这样做,
PagingAndSortingRepository
public class FooRepository extends JpaRepository<FooClass, Long> {
}
@Service
public class FooService {
@Autowired
private FooRepository fooRepo;
public Page<FooClass> fetchPagedFoo(Integer page, Integer size) {
return fooRepo.findAll(PageRequest.of(page, size));
}
}
在上面,如果您传递0、10,则将返回前10行,@RestController
public class FooController {
@Autowired
private FooService fooService;
@GetMapping("/foo")
public ResponseEntity getPagedFoo(
@RequestParam(value = "pageIndex", defaultValue ="0") Integer page,
@RequestParam(value = "size", defaultValue = "10") Integer size) {
return ResponseEntity.ok(fooService.fetchPagedFoo(page, size));
}
}
将返回您可以执行的Page
数据总数。