gpt4 book ai didi

java - 使用spring data jpa执行多参数存储过程并映射ResultSet到非实体类

转载 作者:行者123 更新时间:2023-12-02 09:42:56 25 4
gpt4 key购买 nike

我们最近迁移到 spring data JPA(使用 Spring-boot 2.1.5-RELEASE),需要执行具有多个输入参数的存储过程并映射到非实体 POJO(我将把值设置为实体类,同时保存对象)。任何人都可以提供有关如何实现它的示例/描述吗?我没有从文档中得到太多信息,或者可能是我错过了。

如有任何帮助,我们将不胜感激。

最佳答案

最直接、最简单的解决办法就是用户SimpleJDBCCall并忘记此数据资源的 JPA。该文档广泛涵盖了参数。

这样的事情会起作用:

public class MyDao implements SomeDao {

private JdbcTemplate jdbcTemplate;
private SimpleJdbcCall procReadStuff;

public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
this.procReadStuff = new SimpleJdbcCall(dataSource)
.withProcedureName("my_procedure");
}

public void readStuff(Long id) {
SqlParameterSource in = new MapSqlParameterSource()
.addValue("in_id", id);
Map out = procReadStuff.execute(in);
Stuff stuff = new Stuff();
stuff.setId(id);
stuff.setSomeString((String) out.get("out_some_string"));

// ...do something with Stuff POJO
}

}

此示例是从文档中的示例中提取/修改的:Documentation

关于java - 使用spring data jpa执行多参数存储过程并映射ResultSet到非实体类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56917428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com