当前位置: 首页 > 知识库问答 >
问题:

如何在Java中复制/克隆ResultSet中的一行?多线程实现

宁卓
2023-03-14
ResultSet rs;

public void loadResultSet(){

    ...
    rs = _preparedStatement.executeQuery();

    int rowSize = 0;

    while (rs.next()) {
       rowSize++;
    }


    //this method starts 10 threads simultaneously
    runThreads(rowSize);

     ...

}
@Override
public void run() {


    //Unknown object that allows me to store a copy of a single row from ResultSet
    Foo foo = rs.absolute(index);

    //Then i can retrieve data just like a normal ResultSet
    String s = foo.getString(1);

    ....
    ....

} 

有什么建议吗?

样品真的很感谢!谢谢!

共有1个答案

易阳云
2023-03-14

如果我是u,我更愿意在单独的线程中执行查询,比如:

选择*from table_name,其中mod(id,threadCount)=threadid

只需给每个线程一个id并执行它们。这样,每个线程将有不同的数据要处理

 类似资料:
  • 本文向大家介绍如何复制或克隆Java ArrayList?,包括了如何复制或克隆Java ArrayList?的使用技巧和注意事项,需要的朋友参考一下  java.util.ArrayList类的 clone()方法返回此ArrayList实例的浅表副本(即,不复制元素本身)。使用此方法,可以将一个数组列表的内容复制到另一个数组列表。 示例 输出结果

  • 问题内容: 编辑2:以下是基于DuffyMo响应的代码段,该段代码说明了如何解决使用System.arraycopy多维数组克隆的局限性。 [原始问题]在Java中(完全)克隆多维数组的简单方法是什么?该程序说明了我的问题。 运行上面的代码时,与我的意图相反,arrayMaster以及arrayChanges都发生了变化。考虑到我可以克隆arrayMaster的每个一维数组成员,因此尝试解决此问题

  • 问题内容: 有没有一种方法可以克隆的实例而无需将其字符串化并重新解析结果? 浅表副本是可以接受的。 问题答案: 使用构造函数和方法。

  • 问题内容: 是否存在Java实用程序,该实用程序可以执行以下方法:不仅复制地图对象(如in 类),还复制地图元素? 问题答案: 元素中提到的其他对象呢?您想要克隆多深? 如果您的地图元素没有任何深层引用和/或所有内容都是,则可以将地图序列化为,然后立即将其反序列化。 唯一的替代方法是手动执行。

  • 这里我用java开发。 我有一个for循环中的线程,我想连续运行5次。不幸的是,循环在第二次运行时停止,出现了一个错误: 异常在线程"main"java.lang.IllegalThreadStateExctive在java.base/java.lang.Thread.start(Thread.java:793) 我知道这个错误是什么意思,但是我要求他在确定完成线程时恢复循环,这样就不会有任何错误

  • 我想在POI中使用OPCPackage和XSSFWorkbook打开一个excel文件。由于这个文件将在不同的线程中使用,我想避免重新打开该文件以节省时间(POI在打开一个xlsx文件时速度较慢)。所以我所做的是将工作簿保存在一个全局变量中,然后线程将访问这个全局变量并重用对象。 我遇到的问题是当我尝试重用对象时,它影响/修改了excel文件的原始数据。