spring-boot - 如何在 Spring Boot 中从 MySql 数据库中获取前 10 条和不同的记录
问题描述
我想获取前 10 名和不同的记录 MySql 数据库。我没有使用任何自定义查询或 JPQL 来获取此类记录。我试过了:
List<Pincode> findTop10DistinctByStatusOrderByCreateddatetimeDesc(int status);
下面是我的 REST Api 控制器,用于获取前 10 名和不同的热门城市:
@RequestMapping(value = AkApiUrl.getpopularcities, method = { RequestMethod.POST, RequestMethod.GET }, produces = {MediaType.APPLICATION_JSON_VALUE })
public ResponseEntity<?> getpopularcities(HttpServletRequest request) {
CustomResponse = ResponseFactory.getResponse(request);
try {
List<Pincode> topcities = pincodedao.findTop10DistinctByStatusOrderByCreateddatetimeDesc(1);
for(int i = 0; i < topcities.size(); i++) {
System.out.println("City name: || "+topcities.get(i).getDelivercityid().getCity());
}
if (topcities != null) {
CustomResponse.setResponse(topcities);
CustomResponse.setStatus(CustomStatus.OK);
CustomResponse.setStatusCode(CustomStatus.OK_CODE);
CustomResponse.setResponseMessage(CustomStatus.SuccessMsg);
}
} catch (Exception e) {
e.printStackTrace();
CustomResponse.setResponse(null);
CustomResponse.setStatus(CustomStatus.Error);
CustomResponse.setStatusCode(CustomStatus.Error_CODE);
CustomResponse.setResponseMessage(CustomStatus.ErrorMsg);
}
return new ResponseEntity<ResponseDao>(CustomResponse, HttpStatus.OK);
}
这是已在控制台上打印的输出:
Top cities list: ||10
City name: || Ludhiana
City name: || Ludhiana
City name: || Ludhiana
City name: || Ludhiana
City name: || Surat
City name: || Ajmer
City name: || Ajmer
City name: || Mohali
City name: || Mohali
City name: || Zirakpur
当我在邮递员中点击上述 API 时,我得到了结果,但在控制台中我得到了重复的城市。所以我想获得不同的以及前 10 名的记录。请提供任何建议是否使用自定义查询以获得所需的输出。
解决方案
推荐阅读
- javascript - 在这个特定的脚本中,什么方法减少理解为累加器
- python - 使用 matplotlib 在 2d 或 3d 中绘制矩阵方程
- php - 如何从另一个表的结果中插入表名
- git - 克隆成功,但由于路径无效,签出失败。什么是路径问题?
- javascript - React Hooks useState Array 为空,在组件中呈现状态
- python - 返回已发送电子邮件的时间和日期 - IMAP
- c# - C# 使用数据库值更新组合框
- prolog - 如果序言中不存在事实,请使用规则?
- python - Pyspark - 连接两个数据框并连接一个数组列
- c# - 实体框架 LINQ 等效于 TSQL,包括子记录计数