我正在写我的第一个应用程序在 Spring 启动如此抱歉,如果这是一个愚蠢的问题。我在数据库中有一个“customer”表和一个“building”表,其中customer\ id作为外键,这样我就知道哪些客户拥有哪些建筑。据我现在所知,在repository文件夹中应该是buildingrepository.java,它处理与数据库构建表的通信。我在里面写了“getall()”方法,但是它返回所有建筑的列表,而不管客户的id是什么。然后我有buildingserviceimpl.java,它是restapi端点下面的“层”,它也有getall()方法返回所有建筑。我应该在存储库中指定customer\u id作为参数,还是应该在serviceimpl中指定它,以便严格地保留存储库以进行基本的数据库交互,以便只返回客户拥有的建筑物?
下面是buildingrepository.java中的getall()方法
public List<Building> getAll() {
final String sql = "select * from building";
return jdbcTemplate.query(sql, buildingRowMapper);
}
下面是buildingserviceimpl.java中的getall()方法
public List<Building> getAll() {
return buildingRepository.getAll();
}
1条答案
按热度按时间lsmepo6l1#
请尝试以下查询之一:“selectfrom building b left join customer c on b.customer\u id=c.customer\u id”或“selectfrom building,customer c where b.customer\u id=c.customer\u id”。
如果您需要返回特定的列,您可以始终使用返回类型list<object[]>和in-service layer,您需要将它们类型转换回相应的数据类型。如果您需要这个查询,请告诉我,我也会提供给您。