如何在hibernate jpa中创建分页组件,

如何在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

这是我的控制器,它从数据库中获取city表。有没有办法创建分页组件,以便在我的其他JSP中反复使用它。这样我就可以调用该组件并传递参数…

@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);
    页面提供了一些有用的获取方法,可以在视图中创建一个好的视图