比较Excel.csv与Java中的Oracle数据库

比较Excel.csv与Java中的Oracle数据库,java,csv,oracle10g,Java,Csv,Oracle10g,我的任务是将.csv格式的excel文件中的数据与公司的Java oracle数据库进行比较。比较完数据后,我需要写下数据是否与新的.csv文件相同或不同 我已经编写了访问excel文件的读写方法 我不知道如何将excel中的列与oracle数据库中的列进行实际比较 下面是stringbuilder,它让我从表中实际选择数据 //*********************************************************************** //SQL str

我的任务是将.csv格式的excel文件中的数据与公司的Java oracle数据库进行比较。比较完数据后,我需要写下数据是否与新的.csv文件相同或不同

我已经编写了访问excel文件的读写方法

我不知道如何将excel中的列与oracle数据库中的列进行实际比较

下面是stringbuilder,它让我从表中实际选择数据

//***********************************************************************
   //SQL string builder
   //***********************************************************************
    StringBuilder sSQL = new StringBuilder("");
    sSQL.append("SELECT * FROM NSA_AL.POLVEHICLE PV");
    sSQL.append(" WHERE PV.VIN='?'");
    sSQL.append(" AND PV.POLICYID='?'");
    sSQL.append(" AND PV.SEGEFFDATE<=TO_DATE('06/10/2012 08:00','MM/DD/YYYY HH24:MI')");
    sSQL.append(" AND PV.SEGEXPDATE>=TO_DATE('06/10/2012 08:00','MM/DD/YYYY HH24:MI')");
    sSQL.append(" AND PV.SEGSTATUS=");

任何帮助都将不胜感激。

最好使用jdbc读取Oracle数据,使用apisay Apache POI读取excel数据并进行比较。您可以使用Apache POI编写/更新excel文件。

使用名为toCSV的函数创建一个对象


将生成的CSVfile加载到Excel中,您应该能够在Excel的上下文中比较这些文件。

ApachePOI读取CSV文件是一种过分的做法,除非应用程序已经使用它。有很多特定于CSV的库。OpenCSV和SuperCSV是我首先想到的。@Olaf-OpenCSV看起来很适合打开和写入csv文件。如何将csv中的数据与orcale数据库进行比较?@user2355037:就像Jayan说的:通过JDBC将数据从Oracle加载到对象列表或数组中;将CSV文件中的数据加载到同一类型对象的同一集合中;比较集合。如果您按主键对两个集合进行排序,则会有所帮助。如果每个数据集中的对象超过(比如)10万个,那么可能需要一些额外的技巧。
public class MyCSVMapper  
{    
    String[] fields = {"First","Second","Third"};    

    public String toCSV()  
    {  
          String formatted = "";    
          for(int i = 0; i < formatted.length;i++)
          {
             if(i == formatted.length-1)  
             {  
                formatted+=formatted[i];
                break;  
             }  
              formatted+=formatted[i]+",";
          }  
          return formatted;  
    }  
}