在java或任何类似的解决方案中使用MS Excel查找表

时间:2016-09-17 18:21:36

标签: java mysql excel

我正在从mysql数据库中检索一些数据,该数据就像ID一样,我希望将该ID查找到另一个表(我可以在哪里创建此表)中,该表包含所有ID并返回相应的值(字符串)与该ID相关。我的问题是,我可以在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:我想要了解哪种方法可行且更容易,或者任何其他方法都可以创建查找表,而不是代码。

1 个答案:

答案 0 :(得分:0)

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

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