2017-08-09 58 views
0

java對象在我的應用中,我們使用的ResultSet查詢數據庫,然後構造一個對象是這樣的:爪哇 - 如何構建從結果集

item.setType(resultset.getString(TYPE)); 
    item.setValue(resultset.getString(PRICE)); 

現在的問題是,我的物品類別中有大約120場我不想編寫120行代碼來設置值。我們有沒有更清潔和緊湊的方法?

+0

您可能正在尋找像Hibernate這樣的ORM。 https://en.wikipedia.org/wiki/Object-relational_mapping – Alexander

+0

不是真的,這是一個相當古老的項目,人們不打算使用任何額外的技術。 – shubham

+0

Welp,你的電話¯\ _(ツ)_ /¯ – Alexander

回答

2

你基本上有4種選擇:

  1. 寫的120行代碼。這是最簡單的方法,但您發現可能很乏味。

  2. 使用像Hibernate這樣的ORM。如果你還不熟悉它,你將有幾個月的學習曲線。根據我的個人經驗,它可以在線應用程序中很好地工作,但是對於批處理,對象圖的自動管理會受阻礙。

  3. 使用類似Spring Data的東西。這是選項1和2之間的一半。它使用反射和ResultSetMetaData查詢將結果集中的數據映射到您提供的DAO。與完整的Hibernate(或其他ORM)相比,它的學習曲線要​​少得多,但如果滿足您的需求,它可以成爲一個真正的節省時間的工具。

  4. 編寫您自己的基於反射/ ResultSetMetaData的代碼來執行映射。如果你打算這樣做,使用Spring Data或類似的工具會更好。不建議。