Jdbctemplate.query() select离子过程使用 select 查询(SPRING 框架)
Jdbctemplate.query() selection process using a select query (SPRING FRAMEWORK)
我正在使用 SPRING jdbcTemplate 使用以下代码从我的数据库中提取一些数据:
jdbctemplate.query(SELECT_SQL_QUERY, new RowCallbackHandler(){
public void processRow(resultsetRS) throws SQLException{
// Some operations here
}
});
当我使用 select 查询时,我想知道这种方法 jdbctemplate.query()
是先从数据库加载所有内容以处理数据,还是逐行加载?
我需要答案,因为我使用了两个 SELECT
查询,而第二个查询取决于第一个查询的结果(对 selected 数据进行的操作的结果),这意味着如果第二次调用在进行任何处理之前加载所有内容,它将不会考虑第一次调用的最后更改(因为我在我的代码中使用了并行性)。
一个 SELECT 查询在 JDBC returns 所有行中作为一个集合执行。
您必须先执行第一个查询,然后再执行第二个。
这是 (n+1) 次延迟死亡的来源。
更好的解决方案可能是在一次查询中执行此操作:这样您将只有一次网络往返。
我正在使用 SPRING jdbcTemplate 使用以下代码从我的数据库中提取一些数据:
jdbctemplate.query(SELECT_SQL_QUERY, new RowCallbackHandler(){
public void processRow(resultsetRS) throws SQLException{
// Some operations here
}
});
当我使用 select 查询时,我想知道这种方法 jdbctemplate.query()
是先从数据库加载所有内容以处理数据,还是逐行加载?
我需要答案,因为我使用了两个 SELECT
查询,而第二个查询取决于第一个查询的结果(对 selected 数据进行的操作的结果),这意味着如果第二次调用在进行任何处理之前加载所有内容,它将不会考虑第一次调用的最后更改(因为我在我的代码中使用了并行性)。
一个 SELECT 查询在 JDBC returns 所有行中作为一个集合执行。
您必须先执行第一个查询,然后再执行第二个。
这是 (n+1) 次延迟死亡的来源。
更好的解决方案可能是在一次查询中执行此操作:这样您将只有一次网络往返。