如何将ResultSet对象转换为一个特定的POJO类对象?

时间:2012-10-10 05:37:21

标签: java resultset

  1. 例如,我有一个Resultset,其中包含有关员工详细信息的详细信息,我在数据库中有一个表For Employee,我正在从中选择所有详细信息

  2. 我有java POJO类,它类似于Employee Table,它是将转换结果集实现为Employee类对象的最佳方法

  3. 如果我有多个类,如Employee和多个表,如何编写可重用的代码,那么实现的最佳方法是什么。

  4. 我现在使用以下符号。

    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;
        }
    }
    

3 个答案:

答案 0 :(得分:4)

Mybatis,或像Hibernate这样的ORM可能是您最好的解决方案 但是,如果你真的需要使用jdbc的ResultSet,并想将ResultSet转换为java Beans,你可以检查:

  1. 来自apache的BeanUtils的ResultSetDynaClass。
  2. 或者,像this一样自己写一些代码。

答案 1 :(得分:1)

  

我有类似员工表的java POJO类什么是最好的   将转换结果集实现为Employee类对象的方法

  • 如果你知道JPA,那么这将是最好的选择..你不会 必须做一个类型转换来获取你的POJO对象.. JPA适用于ORM (对象关系映射)。它直接将您的POJO对象映射到 数据库表..当你可以直接从中获取对象时 数据库..

  • 如果除了使用JDBC之外别无选择,那么你没有 除TypeCasting以外的其他选择。

  

如果我有多个类,那么实现的最佳方式是什么?   员工和多个表也是如何编写可重用的代码。

  • 对于JDBC,我不知道你是什么类型的可重用性 寻找,但你可以实现DB课程,并拥有你所有的 Query Templates那里..对于你想要执行的任何查询,你可以 使用那个班级。那比较好而不是 有分散的查询,分散在你的应用程序中..

  • 再次,如果你可以使用JPA,有一个Entities的概念..如果你 想要使用多次获取,更新或插入数据库,它将更容易 你..你可以获得适当的对象并将其转储到实例中 您的Entity,或将您的对象转储到您的数据库中,而不必担心任何类型的Queries

对于JPA的开始,您可以从以下任何链接开始: -

答案 2 :(得分:0)

如果您真的想编写可重复使用的代码,请使用http://www.hibernate.org/等ORM工具。

相关问题