2013-03-20 21 views
1

我是新的java和這個網站,從來沒有問過這裏的問題。如何將多個值(超過2個)存儲在來自ResultSet的地圖中,類似於HashMap?

我的問題是,我正在嘗試編寫一個方法來查詢數據庫,並且此查詢返回7列數據與'X'行數量和一個主鍵。我知道使用HashMap可以存儲兩個值,鍵和值,但是可以在每行中使用多於兩個值的ResultSet,並將其存儲在HashMap或類似的東西中。我一直在努力尋找互聯網上的答案。

我想將此方法用作緩存,以便應用程序不必在每次需要信息時都查詢數據庫。但我想存儲這些信息,以便當用戶搜索關鍵字值(例如customerId)時,我得到與'customerId'關聯的6列信息,應用程序只是從「地圖」中獲取信息,而不是查詢數據庫每次。

任何建議都會有幫助,如果這個問題是重複,我很抱歉。它似乎經常發生在這裏,但我無法找到答案。

+2

如果你花費大量時間將數據庫查詢拆包到可用的表單中,你應該看看[ORM](http://stackoverflow.com/questions/7067860/what -is-對象關係-mappingorm關係中的到休眠和 - JDBC)秒。 – 2013-03-20 01:01:33

回答

2

可以封裝它們的一類,例如:

public Class EncapsulatedVariables { 
    String s; 
    int i; 
    boolean b; 
    public EncapsulatedVariables(String s, int i, boolean b) { 
     this.s = s; 
     this.i = i; 
     this.b = b; 
    } 
} 

然後你就可以在HashMap使用這個類的價值的一個實例,並且有方法來檢索和/或處理數據你認爲合適。

0

創建客戶類來存儲您的值。在遍歷結果集時,爲每條記錄初始化一個新客戶,並使用customerid作爲關鍵字將對象放入散列映射中。你的地圖將被初始化爲Map<String,Customer> cache = new HashMap<String,Customer>();

相關問題