2012-10-10 113 views
1
  1. ,比如我有其中包括有關員工詳細細節一個結果,我有一個表在數據庫中的員工,我從如何將ResultSet對象轉換爲一個特定的POJO類對象?

  2. 選擇所有的細節我有java的POJO類,它類似於Employee表是什麼將轉換結果集合實現爲Employee類對象的最佳方法

  3. 如果我有多個類,那麼實現的最佳方式就像Employee和多個表一樣如何編寫可重用代碼。

我現在正在使用以下表示法。

public Employee{ 

    private int empId; 

    public setEmpId(int empId){ 
     this.empId = empId; 
    } 

    public int getEmpId(){ 
     return this.empId; 
    } 
} 

public class SetResultSetToEmployee{ 

    public Employee getEmployee(){ 
     Employee e = new Employee(); 
     e.setEmpId(resultSet.getInt("EmpId")); 
     return e; 
    } 
} 
+1

看看hibernate? – 2012-10-10 05:44:20

回答

1

我有java的POJO類,它類似於EMPLOYEE表什麼是實現轉換結果集到Employee類對象

  • 如果你是知道的JPA,那麼最好 方法這將是最好的選擇。你不會 要做類型轉換,讓您的POJO對象.. JPA工程對ORM (對象關係映射)。它直接映射你的POJO對象 數據庫表。而當你可以直接從 數據庫中獲取你的對象..

  • 如果你沒有其他選擇,而不是使用JDBC,那麼你有沒有 其他選擇TypeCasting

什麼是執行,如果我有多個類一樣 員工和多個表過如何編寫一個可重用的代碼的最佳方式。

  • 在JDBC的情況下,我不知道你是什麼樣的可重用性的 尋找,但你可以實現一個DB類,並把所有的 Query Templates有..對於任何詢問要執行,你可以 使用該類..這是相對更好的去用,而不是 有離散的查詢,散落在你的應用程序..

  • 與此同時,如果你可以使用JPA,有一個Entities的概念..如果你 希望與多個合作獲取,更新或插入數據庫,它會更容易爲 你..你可以得到適當的對象,並傾倒在一個實例 你Entity的,或者傾倒你的對象到數據庫中,而不必擔心任何種類的Queries

對於JPA的開始,你可以用這些鏈接的開始: -

+0

謝謝,但我現在正在使用JDBC。你提到的查詢模板的功能是什麼,請你用一個例子 – Prakash

+0

@Prakash解釋我。你可以在一個類中包含所有的查詢。所有的查詢都只需要查詢字符串。所以,你可以調用適當的查詢並傳遞查詢字符串..該查詢字符串將被替換執行後給你想要的結果.. –

4

Mybatis或者像Hibernate這樣的ORM可能是你最好的解決方案。
但是,如果你真的需要使用JDBC的結果集,並希望結果集轉換成Java bean中,你可以檢查:中BeanUtils

  1. ResultSetDynaClass和Apache的。
  2. 或者,自己寫一個位代碼,如this
+0

Thnaks分享你的想法它看起來不錯,我的發展,但我有一個問題:如果可能有更復雜加入數據庫,如果數據庫列名從一個結果集更改爲另一個我如何管理(我可以給POJO中的註釋提供更多的別名) – Prakash

+0

當'select'像這樣嘗試添加別名:'select orig_name as alias_name從XXX表' – turtledove

+0

你會請告訴我如何創建我們自己的註釋在此先感謝 – Prakash

相關問題