我正在使用spring boot和hibernate,我想在我的项目中使用分页。我在谷歌上搜索过,看到了很多例子,但我无法在我的项目中实现它。
我想像,如果我在我的url通过1,然后10个结果应该来,如果我通过2,然后下10个结果应该来,等等。
null
@Transactional
public interface PostDao extends CrudRepository<Post, Long>{
@Query(getAllPostsByRank)
List<Post> getAllPostsByRank();
final String getAllPostsByRank= "from Post order by value DESC";
}
null
@RequestMapping("/top")
@ResponseBody
public List<Post> getAllPosts(HttpServletRequest req, HttpServletResponse res) throws ServletException {
List<Post> postobj = postDao.getAllPostsByRank();
return postobj;
}
下面是我的URL:
http://localhost:8888/v1.0/post/top/1
请建议。
在spring boot实现分页非常容易,只需遵循基本步骤-
1-在repository接口中扩展PagingAndSortingRepository
public interface UserRepository extends PagingAndSortingRepository <User, Long>
2-方法声明应该如下例所示
Page<User> userList(Pageable pageable);
服务类中的3-方法实现应该如下例所示
@Override
public Page<User> userList(Pageable pageable) {
return userRepository.findAll(pageable);
}
4-控制器类代码应如下所示
@GetMapping("/list")
public String userList(Model model, Pageable pageable) {
Page<User> pages = userService.userList(pageable);
model.addAttribute("number", pages.getNumber());
model.addAttribute("totalPages", pages.getTotalPages());
model.addAttribute("totalElements",
pages.getTotalElements());
model.addAttribute("size", pages.getSize());
model.addAttribute("users", pages.getContent());
return "/user/list";
}
从前端调用应如下所示
http://localhost:8080/application/user/list?page=0&size=5
http://localhost:8080/application/user/list?page=1&size=5
http://localhost:8080/application/user/list?page=2&size=5
欲知更多详情,请观看以下视频
spring boot:基本分页
spring boot:分页高级
感谢阅读
我会考虑直接在控制器中使用
使用
默认情况下,该类使用url参数'page'和'size';因此,page=0&size=10将返回前10个项目。
因此,在您的示例中,代码可能类似于:
@ResponseBody
@RequestMapping("/top/pages/")
public List<Post> getAllPosts(@PageableDefault(value=10, page=0) Pageable pageable) throws ServletException {
Page page = postDao.findAll(pageable);
return page.getContent();
}
注意,注释
只是用来设置默认值&;这不是必需的。
在前端,下一个页面调用可以是
next</a>/code;这将返回一个从11到20的帖子列表。
检查一下。您的控制器
@RequestMapping("/top/pages/{pageno}")
@ResponseBody
public List<Post> getAllPosts(@PathVariable("pageno") int pageno, HttpServletRequest req, HttpServletResponse res) throws ServletException {
List<Post> postobj = postDao.getAllPostsByRank(new PageRequest(pageno,10));
return postobj;
}
你的刀
@Transactional
public interface PostDao extends CrudRepository<Post, Long>{
@Query(getAllPostsByRank)
List<Post> getAllPostsByRank(Pageable pageable);
final String getAllPostsByRank= "from Post order by value DESC";
}
问题内容: 我是ReactJS的新手,正在其中创建一个简单的TODO应用程序。实际上,这是一个非常基本的应用程序,没有数据库连接,任务存储在数组中。我现在想添加分页功能,并添加了“编辑和删除”功能。如何实施?任何帮助将不胜感激。谢谢…!! 问题答案: 我最近在纯React JS中实现了分页。这是一个工作示例:http : //codepen.io/PiotrBerebecki/pen/pEYPbY
我使用的是spring boot 1.2.8,但类不存在。没有这门课最好的方法是什么?
我有以下的请求给管理员和管理员 我想用上面Dto中不为空的字段搜索用户存储库。 示例:如果firstName是“john”,lastName是“smith”,其余字段为空,那么我必须在存储库中搜索firstName是“john”,lastName是“smith”的所有记录(不是或) 我还必须为响应执行分页 我是Spring靴新手,有人能建议我怎么做吗?
如何在Struts 2中为客户端显示实现分页,并将Hibernate作为持久层。 以下是我迄今为止完成的代码: 有没有办法在没有标签的情况下实现这一点?
我不认为所有问题都是对的,因为每次我试图解决问题时,我都会得到一个错误,需要其他类型的。
问题内容: Spring MVC中是否有任何现成的,易于实现的标准分页组件/ tag-lib或代码示例可用于分页? 问题答案: 有关示例,请参见样本中的JPetstore,例如
这类似于这个没有任何答案的问题。我已经阅读了所有关于如何在twitter、facebook和Disqs api中使用游标的内容,以及这篇关于Disqs通常如何构建游标的文章,但我似乎仍然无法理解它们是如何工作的,以及如何在我自己的项目中实现类似的解决方案。有人能具体解释他们背后的不同技术和概念吗?
问题内容: 嗨,我必须在hibernate状态下编写查询 在hibernate状态。我已经发布了有关此主题的查询。但是没人帮我。在hibernate状态下可以编写这样的查询吗?请回复。 问题答案: 您可以使用本机SQL查询 或者您可以使用Hibernate Criteria Restrictions.sqlRestriction 希望能有所帮助。