Java 使用OJDBC检索可变数量输入的DB数据

Java 使用OJDBC检索可变数量输入的DB数据,java,ojdbc,Java,Ojdbc,我使用OJDBC将数据从数据库检索到给定的一组主键。为了使算法有效,我将循环限制在给定的集合上,而不是检索整个表 我是这样做的 for (Integer customer : customers){ String selectStatement= "SELECT * FROM table WHERE customerID ="+customer; processCustomer(selectStatement,statement);

我使用OJDBC将数据从数据库检索到给定的一组主键。为了使算法有效,我将循环限制在给定的集合上,而不是检索整个表

我是这样做的

for (Integer customer : customers){
            String selectStatement= "SELECT * FROM table WHERE customerID ="+customer;
            processCustomer(selectStatement,statement);
        }
        connection.close();
        System.out.println("Done");
    }

    catch (SQLException e){
        System.out.println("Connection Failed! Check output console");
        System.out.println(e.getMessage());

    }
processCustomer方法处理查询并根据需要填充HashMap

我相信这不是最好的做法,因为我达到了DB,因为每个客户都可以达到100k,而且完成这个过程需要很多时间


最有效的方法是什么

您可以使用PrepareStation或从customer1、customer2、customer3…customern中customerID所在的表中选择*;纳伦,我想过了。但是,DB中的集合仅限于1000。我是否应该实现一种方法,对几组1000进行ORing?即使这样也会给您带来性能问题。。通常你不会每次都使用所有的customer100k细节。。。为100名客户点击db,并在接下来的100名客户中使用它。以提高效率