单击下一页时,将数据库中的数据加载到mat-table

时间:2019-07-11 02:45:23

标签: spring-boot spring-data-jpa angular-material spring-data angular7

我在Spring Boot中使用angular 7,并且我在使用mat-table,我不想一次加载例如数据库中的所有数据,我只想在单击mat的下一页时加载数据-表。 和这张图片作为我的垫子桌子。

mat-table image

我如何在7号角靴和弹簧靴中一起使用,如果有人有解决方案,请给我,谢谢。

1 个答案:

答案 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数据总数。