gpt4 book ai didi

java - 飞行路线迁移: NamedParameterJdbcTemplate

转载 作者:太空宇宙 更新时间:2023-11-04 12:46:36 25 4
gpt4 key购买 nike

是否有办法利用 NamedParameterJdbcTemplate 而不是使用 SpringJdbcMigration 实现中的标准 JdbcTemplate 创建飞路迁移类?

我需要运行一个升级,需要将列类型从文本转换为整数(用与该值关联的内部 ID 替换字符串值。)

我这样做的方法是临时存储用于反向查找的字符串值,删除列并将其重新添加为正确的类型,然后运行 ​​UPDATE 调用以将适当的 ID 添加到记录中。我有类似于以下的代码,我想作为迁移的一部分执行:

String sql = "UPDATE my_table SET my_field = :my_field WHERE my_id IN (:my_ids)";
MapSqlParameterSource source = new MapSqlParameterSource();
source.addValue("my_field", someIntValue); // the internal id of the string I want to use.
source.addValue("my_ids", someListOfPKIds); // List of PK ids.
namedTemplate.update(sql,source); //namedTemplate is a NamedParameterJdbcTemplate

但是,似乎我无法利用 NamedParameterJdbcTemplate。我这句话有错吗?

最佳答案

根据 Flyway 消息来源,他们 create a new JdbcTemplate in SpringJdbcMigrationExecutor

但是,您可以尝试在给定经典 JdbcTemplate 的迁移中创建新的 NamedParameterJdbcTemplate。检查this constructor 。例如。 新的NamedParameterJdbcTemplate(jdbcTemplate)

关于java - 飞行路线迁移: NamedParameterJdbcTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36265563/

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