2015-06-26 20 views
-1

我有一個表product(id, name, cost)和查詢如何訪問存儲在java.lang.object中的數據?

Select id, name from product where name='TV' 

返回兩行。
該查詢的結果存儲在java.lang.object的列表中(列表包含2個包含我需要的數據的對象)。

如何訪問product.name和product.id?

List <Object> result = catalogServiceLocal.customQueryProd("s4"); //This is the query I am calling to execute SQL code. 

    System.out.println("Size of List "+result.size()); 
    System.out.println("List " + result.toString()); 

,其結果是:

6:39:42,877 INFO [stdout] (MSC service thread 1-7) Size of List 2 
16:39:42,878 INFO [stdout] (MSC service thread 1-7) List [[Ljava.lang.Object;@661b6318, [Ljava.lang.Object;@1006f107] 
+0

如果你編輯你的問題來添加你正在使用的代碼,這可能會有幫助,所以我們可以看到你是如何結束java.lang.object的。 – Nanhydrin

+0

對象是Java中每一個類的超類,所以這並沒有告訴我們很多。有很多方法可以在Java中讀取SQL表。在我們回答這個問題之前,我們需要一些更多的細節(即您使用的代碼)。 – Dukeling

+0

@Dukeling感謝您的時間 –

回答

0

我認爲有以下應該做的:

for (Object record : result) { 
    Object[] fields = (Object[]) record; 
    String id = (String) fields[0]; 
    String name = (String) fields[1]; 
    System.out.printf("id: %s, name: %s%n", id, name); 
} 

了toString表明,結果是兩個對象陣列的列表。 顯然有兩條記錄。 每個對象數組可能都是id + name字段,可能是String類型。

java中的類型使用short_hand:[作爲數組。

+0

這工作!非常感謝你@Joop! –

相關問題