gpt4 book ai didi

java - 如何从 spring-boot 执行 postgres sql block

转载 作者:行者123 更新时间:2023-11-29 13:51:42 24 4
gpt4 key购买 nike

我必须从 spring boot 应用程序执行一段 sql 脚本(通常是一个函数)。我无法将此功能保留在我的 postgres 数据库中,因为我想在应用程序级别进行维护。我尝试使用 schema.sql(来自资源文件夹),这看起来只在服务器启动期间执行。

但是我想在每次需要时通过 JPA 或 JDBCTemplate 调用此 plsql block 。

除了可以按需执行的 schema.sql 之外,还有其他选择吗?

最佳答案

在单元测试中有 @Sql注释,可用于执行脚本:

@RunWith(SpringRunner.class)
@SpringBootTest
@Sql("/reset_sequences.sql")
public class ModuleTemplateRepositoryTests { ... }

为了从 spring 应用程序启动自定义 sql 脚本,我们使用了 ScriptUtils (计算器 here)

@Value("classpath:reset_sequences.sql")
Resource script;

@Autowired
JdbcTemplate jdbcTemplate;

...
ScriptUtils.executeSqlScript(
jdbcTemplate.getDataSource().getConnection(), script);

关于java - 如何从 spring-boot 执行 postgres sql block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39895604/

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