2012-10-10 21 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

相关问题