SpringDataElasticsearch4.0 使用 Page查询

 最近使用了sde4,发现querybypage被废弃,查了下最新用法,记录一下

 IndexCoordinates index= IndexCoordinates.of("xxxxxxx");
 QueryBuilder qb = new BoolQueryBuilder()
            .must(new TermQueryBuilder("xxxx.keyword", "value1"))
            .must(new TermQueryBuilder("xxxxx.keyword", "value2"))
 Query sq = new NativeSearchQueryBuilder()
            .withPageable(pageable)
            .withFilter(qb)
            .build();
//org.springframework.data.domain.Pageable pageable - Come from front-end
SearchHits<HashMap> hits = template.search(sq, HashMap.class, index);
SearchPage<HashMap> pages = SearchHitSupport.searchPageFor(hits, sq.getPageable());

如果需要自定义返回值则使用map方法

Page<HashMap> page=pages.map(this::converHashMap);
private HashMap converHashMap(SearchHit<HashMap> hit) {
        HashMap<String, Object> resultmap = new HashMap<>();
       //.......
        return resultmap ;
 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
使用Spring Data JPA进行分页查询需要遵循以下步骤: 1. 定义Repository接口,继承JpaRepository或其它Spring Data提供的Repository接口。 ```java @Repository public interface UserRepository extends JpaRepository<User, Long> { } ``` 2. 在Controller中注入Repository,并使用Pageable参数注入分页参数。 ```java @Autowired private UserRepository userRepository; @GetMapping("/users") public Page<User> getUsers(Pageable pageable) { return userRepository.findAll(pageable); } ``` 3. 在前端页面中传递分页参数,例如使用thymeleaf的分页标签: ```html <div class="pagination"> <ul> <li th:class="${users.first} ? disabled"><a th:href="@{${#httpServletRequest.requestURI}(page=0,size=${users.size},sort=${users.sort})}">«</a></li> <li th:class="${users.number == 0} ? disabled"><a th:href="@{${#httpServletRequest.requestURI}(page=${users.number - 1},size=${users.size},sort=${users.sort})}">‹</a></li> <li th:each="i : ${#numbers.sequence(0, users.totalPages - 1)}" th:class="${users.number == i} ? active"><a th:href="@{${#httpServletRequest.requestURI}(page=${i},size=${users.size},sort=${users.sort})}" th:text="${i + 1}"></a></li> <li th:class="${users.number == users.totalPages - 1} ? disabled"><a th:href="@{${#httpServletRequest.requestURI}(page=${users.number + 1},size=${users.size},sort=${users.sort})}">›</a></li> <li th:class="${users.last} ? disabled"><a th:href="@{${#httpServletRequest.requestURI}(page=${users.totalPages - 1},size=${users.size},sort=${users.sort})}">»</a></li> </ul> </div> ``` 以上就是使用Spring Data JPA进行分页查询的基本步骤,可以根据自己的需求进行更加灵活的配置和使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值