如何在hibernate jpa中创建分页组件,
这是我的控制器,它从数据库中获取city表。有没有办法创建分页组件,以便在我的其他JSP中反复使用它。这样我就可以调用该组件并传递参数…如何在hibernate jpa中创建分页组件,,hibernate,spring-data-jpa,Hibernate,Spring Data Jpa,这是我的控制器,它从数据库中获取city表。有没有办法创建分页组件,以便在我的其他JSP中反复使用它。这样我就可以调用该组件并传递参数… @RequestMapping(value = "/city") public ModelAndView getCityPaginatedPage(@RequestParam(value="pageNumber",required = false) Integer pageNumber,@ModelAttribute ("model") AdminCi
@RequestMapping(value = "/city")
public ModelAndView getCityPaginatedPage(@RequestParam(value="pageNumber",required = false) Integer pageNumber,@ModelAttribute ("model") AdminCityModel CityModel, BindingResult result, ModelAndView model) {
if(pageNumber==null){
pageNumber=1;
}
Page<AdminCityModel> page = service.getCityListFrom1To10(pageNumber);
List<AdminCityModel> CityList =page.getContent();
int current = page.getNumber() + 1;
int begin = Math.max(1, current - 5);
int end = Math.min(begin + 10, page.getTotalPages());
model.addObject("page", page);
model.addObject("CityList", CityList);
model.addObject("beginIndex", begin);
model.addObject("endIndex", end);
model.addObject("currentIndex", current);
model.setViewName("admin/city");
return model;
}
public interface AdminCityService {
public Page<AdminCityModel> getCityListFrom1To10(Integer pageNumber);
}
@RequestMapping(value=“/city”)
公共模型和视图getCityPaginatedPage(@RequestParam(value=“pageNumber”,required=false)整数页码,@ModelAttribute(“model”)AdminCityModel城市模型,BindingResult结果,ModelAndView模型){
如果(页码==null){
页码=1;
}
页面
您可以装箱将成为每个请求一部分的分页对象。创建分页类如下
public class PaginationPrameters{
private int pageIndex;
private int rowsPerPage;
private int startingIndex;
}
请求将包含所有三个字段,您可以在控制器中构造对象。拥有此对象后,计算下一个请求分页边界并使用该边界更新查询。您可以将分页对象装箱,该对象将成为每个请求的一部分。创建分页类如下所示:
public class PaginationPrameters{
private int pageIndex;
private int rowsPerPage;
private int startingIndex;
}
请求将包含所有三个字段,您将在控制器中构造对象。一旦拥有此对象,计算下一个请求分页边界,并使用该边界更新查询。您问题上的标记表示您正在使用spring数据 很简单,spring data有一个支持分页的功能。让我们重写您的AdminCityService:
public interface AdminCityService extends CrudRepository<AdminCityModel, Integer> {
public Page<AdminCityModel> getCityList(Pageable page);
}
public interface administrationservice扩展了crudepository(它实现了Pageable,页面索引以零开始),并将其传递给您的方法:
PageRequest request = new PageRequest(0, 10);
Page<AdminCityModel> adminCityModels = AdminCityService.getCityList(request);
PageRequest-request=新的PageRequest(0,10);
页面提供了一些有用的获取方法,可以在视图中创建一个好的视图。问题上的标记表示您正在使用spring数据
很简单,spring data有一个支持分页的功能。让我们重写您的AdminCityService:
public interface AdminCityService extends CrudRepository<AdminCityModel, Integer> {
public Page<AdminCityModel> getCityList(Pageable page);
}
public interface administrationservice扩展了crudepository(它实现了Pageable,页面索引以零开始),并将其传递给您的方法:
PageRequest request = new PageRequest(0, 10);
Page<AdminCityModel> adminCityModels = AdminCityService.getCityList(request);
PageRequest-request=新的PageRequest(0,10);
页面提供了一些有用的获取方法,可以在视图中创建一个好的视图