提问人:aakash singh 提问时间:10/17/2023 最后编辑:aakash singh 更新时间:10/17/2023 访问量:37
使用 JdbcTemplate 执行方法后,本地临时表 (SQL Server) 不会自动删除,但可以与 NamedParameterJdbcTemplate 一起使用?
Local temporary table(SQL Server) not dropping automatically after method execution with JdbcTemplate but works with NamedParameterJdbcTemplate?
问:
我正在尝试执行一个本机查询,我在其中创建了本地临时表。我的前端调用一个 Api,一个方法执行该查询。如果我再次调用该方法,有时我会得到数据库中已经存在的对象(#temptablename),如果我不断刷新我的前端,10 次中有 1 次可以工作。
这是复杂查询的简化形式,但您将了解我尝试执行的要点。
select * into #ts from (
"some select query"
) as tmp1;
Select
*
from
#ts
此方法并非每次都有效。
jdbcTemplate.queryForList(查询);
这每次都有效。
namedParameterJdbcTemplate.queryForList(query, args);
namedParameterJdbcTemplate 中的 Args 是垃圾参数,因为此查询不需要任何参数。
我的预感是jdbcTemplate每次调用都使用相同的连接,因为本地临时表与连接相关联,并且namedParameterJdbcTemplate每次都会创建新连接。
我如何在@PostConstruct方法中创建数据源
DataSource dataSource = DataSourceBuilder.create().username(username).password(password)
.url(url + ";ApplicationIntent=ReadOnly").build();
jdbcTemplate.setDataSource(dataSource);
答: 暂无答案
评论