2016-09-17 22 views
0

我从mysql数据库检索一些数据,该数据就像ID,我想查找到另一个表中的ID(我可以创建此表)的所有ID并返回与该ID相关的相应值(字符串)。我的问题是,我可以在java中创建查找表,还是可以使用MS Excel作为查找表?在java或任何类似的解决方案中使用MS Excel查找表

以下是我写到目前为止代码:

package dbconnect; 
import java.sql.*; 

public class Dbconnect { 
    public static void main(String[] args) { 
     int a; 
     String b; 
     String c; 
     try{ 
      Class.forName("com.mysql.jdbc.Driver"); 
      Connection con= DriverManager.getConnection(
       "jdbc:mysql://localhost:3306/test","root","xyz123"); 
      Statement stmt= con.createStatement(); 
      ResultSet rs=stmt.executeQuery("select * from shop"); 
      while(rs.next()) 
      { a = rs.getInt(1); 
       b = rs.getString(2); 
       c = rs.getString(3); 
       System.out.println(a+" "+b+" "+c); 
      } 
      con.close(); 
     }catch(Exception e){ System.out.println(e);} 
    } 
} 

PS:我想要一些见解关于其方法是可行的,更容易或任何其他方法可以创建查表,而不是代码。

+0

Excel与此有什么关系? – Drew

+0

要进行查找操作,我们可以在使用id的地方使用hashmap来获取值。 – Nagappan

+0

我有一些数据是在Excel中(行和列),我有ID(从SQL数据库中检索),它应该与Excel中的一列中存储的ID之一匹配,并将结果作为相应的值(同一行,但相邻列) –

回答

0

如果查找表数据是从外部系统生成的,那么我们可以使用Java Collection HashMap(Key,Value)。所以我们可以在每次运行之前加载HashMap表,所以我们可以进行查找。查找速度会更快,但大小增长需要时间,维护也很困难(即我们需要在运行结束时停止数据,在运行之前加载数据)。

如果查找表是固定的,那么每次运行程序都会有很大的差异,然后在MySql中创建一个表并使用where子句通过键值进行选择。这种方法很容易维护,并且有大量的数据。性能会很好,因为我们不需要在运行之前加载数据。

+0

我与我的经理检查过,我们没有权限在数据库中实际创建一个新表。所以我在想,我可以在客户端系统中创建数据库,并将表从服务器端复制到客户端数据库,并仅在客户端创建查找表。那么所有的处理都可以在客户端系统中完成。先生是这个解决方案可以在java中? –

相关问题