使用选择查询的Jdbctemplate.query()选择过程(SPRING FRAMEWORK)

时间:2016-04-14 13:53:23

标签: spring jdbc jdbctemplate

我使用SPRING jdbcTemplate使用以下代码从我的数据库中提取一些数据:

jdbctemplate.query(SELECT_SQL_QUERY, new RowCallbackHandler(){
    public void processRow(resultsetRS) throws SQLException{

    // Some operations here
    } 
});

当我使用select查询时,我想知道这个方法jdbctemplate.query() 在处理数据之前加载数据库中的所有内容还是一个接一个地加载?

我需要答案,因为我使用了两个SELECT查询,第二个取决于第一个查询的结果(对所选数据执行的操作的结果),意味着如果第二个调用加载了所有内容在进行任何处理之前,它不会考虑第一次呼叫的最后更改(因为我在我的代码中使用了并列代理)。

1 个答案:

答案 0 :(得分:1)

在JDBC中执行的SELECT查询将所有行作为集合返回。

您必须执行第一个查询,然后执行第二个查询。

这是潜伏期导致(n + 1)死亡的原因。

更好的解决方案可能是在一个查询中执行此操作:您只需要一次网络往返。