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

java sql查询如何选择没有参数的所有数据

韩喜
2023-03-14

嗨,最近我一直在研究REST API。我在想,如果没有参数,我怎么才能得到所有的数据。我只能通过categoryId获得数据,如下所示。http://..../categorys?categoryID=2数据被选择并显示如下。

{
  "items": [
  {
  "id": 2,
  "name": "music",
  "count": 20
  }   
 ]
}
{
  "items": [
      {
        "id": 1,
        "name": "movie",
        "count": 10
      },
      {
        "id": 2,
        "name": "music",
        "count": 20
      },
      {
        "id": 3,
        "name": "book",
        "count": 16
      }    
   ]
}
SELECT_CATEGORYS = "SELECT category.id as id, category.name as name, count(*) as count FROM product inner join category where product.category_id = category.id group by category.id, category.name;"
@RestController
@RequestMapping(path="/categorys")
public class CategoryApiController {
@Autowired
ReservationService reservationService;

@GetMapping
public Map<String, Object> categorys(@RequestParam(name="categoryId", required=false, defaultValue="0") int categoryId) {
    
    List<Categorys> list = reservationService.getCategorys(categoryId);
    Map<String, Object> map = new HashMap<>();
    map.put("item", list);
    
    return map;
  }
}

共有1个答案

荆运诚
2023-03-14

查询

 SELECT_CATEGORYS = "SELECT category.id as id, category.name as name, count(*) as count FROM product inner join category group by category.id, category.name;"

控制器

@RestController
    @RequestMapping(path="/categorys")
    public class CategoryApiController {
    @Autowired
    ReservationService reservationService;
    @GetMapping
    public Map<String,List<Category>> categorys() {
        List<Categorys> list = reservationService.getCategories();
        Map<String, Object> map = new HashMap<>();
        map.put("item", list);
        return map;
      }
    }
 类似资料:
  • 问题内容: 我正在构建一个通用的Web服务,需要将所有查询参数都转换为一个字符串以供以后解析。我怎样才能做到这一点? 问题答案: 您可以通过上下文访问单个参数,也可以通过上下文访问所有参数: 关键是 jax-rs批注,可用于访问: UriInfo,请求,HttpHeaders,SecurityContext,提供程序

  • 这更像是一个概念澄清。我可以使用Boto3通过使用上一个响应的LastEvaluatedKey重复查询找到实际计数。 我想计算符合dynamoDb中特定条件的项目。我使用的是“select=count”,根据文档[1],它应该只返回匹配项的计数,并且我假设响应不会分页。 计数-返回匹配项的数量,而不是匹配项本身。 当我通过AWS-cli尝试时,我的假设似乎是正确的(就像文档[1]中的其他api样本

  • 我使用jQuery Datatables插件来显示数据。它提供分页、搜索、排序等功能,所以每次我只在当前页面上显示10条记录。如果我点击next或page number(由Bootstrap Datatable提供),将显示另外10条记录。正如问题中提到的,我想从所有页面中选择所有复选框。

  • 问题内容: 我有两个mysql表。 第一个称为“选择”,由id,user_id和widget_id字段组成。 另一个称为“小部件”,包括widget_id等几项内容。 我创建了一个过滤器,以便用户可以显示他/她选择的小部件,也可以显示他/她没有选择的小部件。对于他选择的人,我使用以下方法: 但是,我不知道如何显示他/她没有选择的内容。这不起作用(显示所有内容): 我该怎么做呢? 问题答案: 使用N

  • 在下面的代码中,我有时会将设置为null。此时,它抛出错误为“could not extract resultset;SQL[n/a];嵌套异常为org.hibernate.exception.sqlgrammarexception:could not extract resultset” 即使为空,我如何获取数据。总有一天约会就要来了。这是怎么做的? null