JPA模糊查询,当参数长度大于1时没有数据显示

当模糊查询参数为10(长度大于1)时,result没有数据显示,但count是对的

img

当模糊查询参数为a(长度为1)时,有数据显示

img

相关代码:

public interface ArticleRepository extends JpaRepository<Article, Integer>, JpaSpecificationExecutor<Article> {

    Page<Article> findByTitleContaining(String title, Pageable pageable);

}

   @RequestMapping("getArticleData")
    public PageResult<Article> findBySearchData(@RequestParam(required = false) Integer page,
                                       @RequestParam(required = false) Integer size, @RequestParam(required = false) String search
    ){
        System.out.println(search);
        Pageable pageable=PageRequest.of(page,size);
        Page<Article> all=articleRepository.findByTitleContaining(search,pageable);
        long totalElements = all.getTotalElements();
        List<Article> list = all.getContent();
        int totalPages = all.getTotalPages();
        PageResult<Article> pageResult = new PageResult<>();
        pageResult.setCount(totalElements);
        pageResult.setResult(list);
        pageResult.setPage(totalPages);
        return pageResult;
    }

当没有用到分页的时候,模糊查询的结果都能正确获得

public interface ArticleRepository extends JpaRepository<Article, Integer>, JpaSpecificationExecutor<Article> {
    List<Article> findByTitleLike(String title, Pageable pageable);

}

JPA的分页不是从0开始的吗?你第一次search=10,查出来总共4条数据,size是5,总共就1页,传的参数page是1,表示的是第2页啊,肯定没有数据撒,第2次search=a,查出来了10条数据,总共2页,这个时候的page传1就是查的第2页的数据

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632