我正在使用Java類,並且正在尋找將MySQL中的數據庫表與成員(屬性)連接到Java代碼的最簡單方法。 執行「SELECT」查詢後,我得到一個resultSet,但是我不清楚如何將結果Object一般轉換爲Java對象。將Java對象與MySql表連接起來
例如:我有2個Java類 - 學生&老師,我想用一個命令:
Student student = (Student) rs.getObject();
感謝, 投資回報率
我正在使用Java類,並且正在尋找將MySQL中的數據庫表與成員(屬性)連接到Java代碼的最簡單方法。 執行「SELECT」查詢後,我得到一個resultSet,但是我不清楚如何將結果Object一般轉換爲Java對象。將Java對象與MySql表連接起來
例如:我有2個Java類 - 學生&老師,我想用一個命令:
Student student = (Student) rs.getObject();
感謝, 投資回報率
這不以這種方式工作。你應該這樣做:
Student st = new Student();
st.setName(rs.getString("NAME"));
st.setAverage(rs.getInt("SCORE"));
其中NAME和SCORE是列名稱。 doc也可以幫助你。
如果你的問題是關於rs.getObject。
調用rs.getObject是調用rs.getInt,rs.getString的通用方式,因爲所有這些方法的返回值最終都是對象(Int,String等)。
它將返回您要求的列(通過選擇或列名稱中的訂單號)。不是整個bean對應一行。
如果在編譯時不知道返回列的類型,則可以使用rs.getObject。
JDBC ResultSet對象沒有一個神奇的getObject方法,它將返回對應於select語句的bean。
您可以開發自己的 '窮人的ORM' 與
的組合,而且這比使用現有一個更難的工作。
我建議使用JPA與eclipselink實現,而不是使用普通JDBC執行查詢,並嘗試將結果集中的結果映射到對象(容易出錯)。 JPA將爲您做到這一點!
謝謝,我的確開始用Java Reflection開發'糟糕的ORM',而且似乎必須有一個更簡單快捷的解決方案。有沒有這樣一個現有的解決方案(ResultSetMetaData&Java Reflection)? – 2011-02-16 07:51:52