当前位置: 首页 > 知识库问答 >
问题:

如何在Spring Boot中使用CrudRepository获取最新的5篇文章

唐钊
2023-03-14
@Entity
public class Post {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long id;

    @Column(nullable=false, length=300)
    private String title;

    @Column(nullable=false)
    private String body;

    @ManyToOne(optional=false, fetch=FetchType.LAZY)
    private Users author;

    @Column(nullable=false)
    private Date date= new Date();

    public Post(){

    }

    public Post(Long id,String title, String body, Users author){
        this.id=id;
        this.title=title;
        this.body=body;
        this.author=author;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public Users getAuthor() {
        return author;
    }

    public void setAuthor(Users author) {
        this.author = author;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    @Override
    public String toString() {
        return "Post [id=" + id + ", title=" + title + ", body=" + body + ", author=" + author + ", date=" + date + "]";
    }
}
public interface PostRepository extends CrudRepository<Post, Long>{
    List<Post> findById(Long id);
    List<Post> findByAuthor(String author);
}
public interface PostServices {
    List<Post> findLatest5();
}
@Service
public class PostServicesImp implements PostServices{

    @Autowired
    private PostRepository pRepo;

    @Override
    public List<Post> findLatest5() {
//      return pRepo.findLatest5Posts(new PageRequest(0, 5));
        return posts.stream().sorted((a,b)-> b.getDate().compareTo(a.getDate()))
                .limit(5)
                .collect(Collectors.toList());
    }
}

共有1个答案

龙高超
2023-03-14

来自Spring Data JPA文档:

限制查询结果

查询方法的结果可以通过关键字first或top来限制,这两个关键字可以互换使用。可以在top/first后面追加一个可选的数值,以指定要返回的最大结果大小。如果省略了该数字,则假定结果大小为1。

User findTopByOrderByAgeDesc();
List<User> findTop10ByLastname(String lastname, Pageable pageable);
List<Post> findTop5ByOrderByDateDesc();
 类似资料:
  • 如何使用_id检索在我的收藏中创建的最新文档? 我试图通过以下方式在我的Web应用程序中实现分页: 正在检索我页面加载的最后一个文档的_id 在下一页中检索大于最后一个文档_id的文档(http://tldrify.com/dcj) 我采用这种方法的原因是,我试图利用存储数据中的自然顺序——文档中存储的id。 获取下一组帖子的示例: 我的猫鼬模式: 据我所知,Mongo的文件已经按照以下文件从最旧

  • 问题内容: 所以我有这个程序来处理CSV文件。我有一行代码来加载文件。 我想找到一种方法,可以在目录中查找并获取最新文件(它们都具有日期标签,因此它们在内部顺序)并将名称设置为。 我真的找不到并理解php目录的文档,因此也将不胜感激任何有用的资源。谢谢。 问题答案: 这是尝试使用, 假设 目录中只有文件带有 时间戳的文件名 : 我们首先以降序列出目录中的所有文件,然后以列表中最先出现的那个文件名具

  • 我使用Spring靴,希望提高性能。我必须下载数据库中有50000个字段的文件。使用hibernate。我在批量插入中找到了解决方案。但我不知道如何从Crudepository获得entitymanager 我创建了MyStorageService并想保存我的文件: } 如果在MyStorageService中使用 我明白了 错误[http-nio-18842-exec-1]JpaTransact

  • 问题内容: 我一直在尝试将新的Flysystem与Laravel 5集成在一起。我正在将“本地化”路径存储到数据库,并让Storage Facade来完成路径。例如我存储和使用 要么 我可以在不同的磁盘上检索相同的文件。 检索文件内容,但是我希望在这样的视图中使用它: 但是路径,或者任何能够检索完整路径的东西都不可用(据我所知)。那么如何返回完整路径?或者,我想知道这是否是设计使然?如果是这样,为

  • 问题内容: 如何获取最新的文件名或添加到目录中的文件路径? 问题答案:

  • 我不能使用spring boot 2.1.0.M4和Junit5和测试我的spring crud存储库。我正在使用下面的spring crud存储库接口。 这是我的单元测试类 这是我的pom.xml 我只想知道成功运行测试的正确注释集是什么。我尝试使用不同的组合 如果我只是使用@datajpatest和@runwith(Springrunner.class),我会得到以下错误: 附言。只想提一下,