2011-02-14 12 views
1

我正在使用Java類,並且正在尋找將MySQL中的數據庫表與成員(屬性)連接到Java代碼的最簡單方法。 執行「SELECT」查詢後,我得到一個resultSet,但是我不清楚如何將結果Object一般轉換爲Java對象。將Java對象與MySql表連接起來

例如:我有2個Java類 - 學生&老師,我想用一個命令:

Student student = (Student) rs.getObject(); 

感謝, 投資回報率

回答

1

這不以這種方式工作。你應該這樣做:

Student st = new Student(); 
st.setName(rs.getString("NAME")); 
st.setAverage(rs.getInt("SCORE")); 

其中NAME和SCORE是列名稱。 doc也可以幫助你。

1

如果你的問題是關於rs.getObject。
調用rs.getObject是調用rs.getInt,rs.getString的通用方式,因爲所有這些方法的返回值最終都是對象(Int,String等)。
它將返回您要求的列(通過選擇或列名稱中的訂單號)。不是整個bean對應一行。
如果在編譯時不知道返回列的類型,則可以使用rs.getObject。

JDBC ResultSet對象沒有一個神奇的getObject方法,它將返回對應於select語句的bean。

您可以開發自己的 '窮人的ORM' 與

  1. JBBC ResultSetMetaData的
  2. Java的反思

的組合,而且這比使用現有一個更難的工作。

+0

謝謝,我的確開始用Java Reflection開發'糟糕的ORM',而且似乎必須有一個更簡單快捷的解決方案。有沒有這樣一個現有的解決方案(ResultSetMetaData&Java Reflection)? – 2011-02-16 07:51:52

2

我建議使用JPAeclipselink實現,而不是使用普通JDBC執行查詢,並嘗試將結果集中的結果映射到對象(容易出錯)。 JPA將爲您做到這一點!

相關問題