2016-09-17 173 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中? –

相關問題