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

当我希望执行Insert查询时,使用Spring JPA发布请求

唐兴发
2023-03-14
INSERT into table_PO(
    (SELECT * from tble_PO_copy WHERE PO_id = 
        (SELECT PO_id FROM TABLE sales WHERE id =?1))
)
public Sales createSales(Sales sales) {
        Client client = ClientBuilder.newClient();
        Sales response = client.target(URI.contextPathUI + "/api/sales").request()
                .post(Entity.entity(sales, MediaType.APPLICATION_JSON), Sales.class);
        return response;
}
@Autowired
private SalesRepository salesRepository;

// ..........
// ..........

@PostMapping("/salesOrder")
    private ResponseEntity<Sales> createAdvanceSales(@RequestBody Sales sales) {
        sales = salesService.createSalesOrder(sales);
        return new ResponseEntity<>(sales, HttpStatus.CREATED);
}

并且在SalesServiceImpl类中

@Override
public Sales createSalesOrder(Sales sales) {
        sales = salesRepository.save(sales);    
}

但我希望能够实现插入查询。我知道我可以创建一个扩展JpaRepository的存储库接口,但编写模型类的格式是什么。很抱歉我不能尽可能有效地表达我的问题。我是Spring和JPA的新手。我真正想要的是编写一个客户机响应模型类,这样我就不需要像以前那样传递实体,如上图所示。我希望将其标记为post请求,并且只传递一个整数,而不是传递实体时的.post(entity.entity(sales,MediaType.application_JSON),sales.class);

共有1个答案

邓星光
2023-03-14

我会考虑两个选择中的一个。

>

  • 虽然查询不使用模型类,但它可能与模型类密切相关,如果是这种情况,我会为该模型向存储库中添加一个方法,并使用@modify@query注释来配置insert语句。

    如果它真的独立于任何模型,您可以创建一个Spring bean,将jdbctemplateEntityManager注入其中,并使用它执行语句。因此在本例中没有存储库。

  •  类似资料:
    • 数据库: SQL查询 搜索 当我使用“Like”查询时,一切都正常,但是当我查找John时,它会显示John和Johnson的两个结果,因为它们是相似的。但当我搜索约翰时,它必须只显示约翰(而不是约翰逊)的结果。 到目前为止,我试过: 但它不起作用LogCat: 请给我一个提示。

    • 我对收到以下消息的原因感到困惑: mysqli_num_rows()期望参数1mysqli_result,布尔值给定 这个问题与以前的查询不同,因为我的查询实际上执行正确(值确实输入了数据库)。所以,我希望MySQL返回一个结果集,而不是BOOLIAN。 下面是我的功能: 以下是错误的部分结果:

    • 我无法使用REST保证执行我们的REST帖子网址。我收到状态 404 错误。我们的REST网址不需要任何身份验证,正文等。相同的网址在POSTMAN,RESTEasy中工作正常。我尝试了所有四种组合以获得响应

    • 我将Spring Boot与Shiro一起使用,但我启动应用程序并导航到/acture/metrics时会显示可用仪表名称的列表: 我再次启动应用程序,我得到了所有: 我想同时使用执行器和四郎。谢谢你的帮助。

    • 问题内容: 在执行INSERT查询时,MySQL / PHP返回了什么吗?这是我在CLASS中具有的功能。 这就是我所谓的函​​数 但是执行查询不会返回任何内容。我的功能是否需要帮助,或者这是默认行为吗?任何提示也将有所帮助。 问题答案: INSERT只返回true或false。要真正返回有用的东西,您将需要SELECT或类似的查询。没有要使用INSERT提取的结果。

    • 我使用包对MySQL服务器运行查询 以下是连接设置 它适用于所有查询,只有查询有26个参数: 我一直收到以下错误消息: C:\myprojects\tms\node_modules\mysql2\lib\commands\commands.js:30 this.onresult(err);^ TypeError:this.onresult不是Connection.Query.Execute(C:\