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

尝试从Java spring boot H2数据库中获取相关实体

吉凯捷
2023-03-14

我刚开始学习spring boot,正在使用一个H2数据库,我已经得到了大部分的工作,但我遇到了麻烦,试图提出一个稍微复杂的请求。我有两个表'user'和'purche',我想创建和结束点,返回包含给定用户ID的所有购买。如果我使用SQL联接或一些类似的查询,这似乎很简单,但我不知道如何实现。

我有一个用于用户和购买的存储库(CrudRepository),然后有一个用于从数据库获取相关数据的服务。这很适合get、getById等基本需求,但我不知道如何指定查询,如join等。

public interface UserRepo extends CrudRepository<User, Integer> {}

public interface ReceiptRepo extends CrudRepository<Receipt, Integer> {}

@Service
public class UserService {
    @Autowired
    UserRepo userRepo;
 
    public User getUser(int id) { return userRepo.findById(id).get(); }
}

@RestController
public class UserController {
    @Autowired
    UserService userService;

    @GetMapping("/user/{id}")
    private User getUser(@PathVariable("id") int id) {
        return userService.getUser(id);
    }
}

这基本上是两个实体的设置,我不确定在哪里以及如何编写更具体的查询。如有任何帮助,将不胜感激。

共有1个答案

谷梁镜
2023-03-14

Yoy可以使用@query()注释来编写查询。您需要在repo中声明一个方法,并且可以在该方法上放置这个注释。

例如:

@Query("SELECT u FROM User u WHERE u.status = 1")
Collection<User> findAllActiveUsers();

你可以从这里了解更多的信息

 类似资料:
  • 问题内容: 在Spring MVC中使用PropertyEditor时,让它们从数据库中获取实体是否不好?我应该改为创建一个空实体并设置其ID。 例如,实体Employee: 使用以下GenericEntityEditor在下面的PropertyEditor中获取Entity是一个坏主意: 可以绑定在控制器中: 是否更喜欢对EmployeeEditor使用更具体的方法,并使其仅实例化Employe

  • 我试图使用Bean shell断言从我的JBDC请求采样器中提取结果 我在我的采样器中添加了一个beanshell断言来提取结果,但运行时出现了一个错误。有关守则是: 其中dataFromDB是我的JBDC请求采样器的结果变量名 错误是:断言失败消息:org。阿帕奇。乔芬。util。JMeterException:调用bsh方法时出错:eval

  • 问题内容: 我有2种情况,我要在codeigniter中提取同一表的全部数据和行总数,我想知道那是一种方法,可以从中获取行总数,整个数据和3个最新插入的记录通过一个代码在同一张桌子上 两种情况的控制器代码如下(尽管我分别使用不同的参数将其应用于每种情况) 1)从codeigniter中的表中获取全部数据 型号代码 查看代码 2)在Codeigniter中从表中获取行数 查看代码 问题答案: 您只能

  • 本文向大家介绍node.js从数据库获取数据,包括了node.js从数据库获取数据的使用技巧和注意事项,需要的朋友参考一下 本文需要用node.js做一个从Sqlserver获取数据并显示到页面上的小功能,下面就为大家分享: app.js: 接下来就直接在页面中使用get方式请求即可,当然post方式也是类似原理。 还有我发现textarea控件在改变其text和html属性的时候,value还保

  • 我正在尝试获取我的用户名,并在应用程序打开时向他/她问好。但我无法根据某个用户的uid获取数据。当我运行应用程序时,祝酒词从未真正出现。 数据库结构 密码

  • 我正在建立一个阳光应用从Udacity课程。在第2课中,我尝试将应用程序连接到OpenWeatherMap.org站点上的云,以获取城市的天气数据。首先,基本查询起作用,即URL URL=新URL(“http://api.openweathermap.org/data/2.5/forecast?id=524901&appid=c21566b1153f87e9f1d256b962cd6d42”);但