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

Java 如何将ResultSet对象转换为一个特定的POJO类对象?,java,resultset,Java,Resultset,例如,我有一个结果集,其中包含有关员工详细信息的详细信息,我有一个数据库中的员工表,我正在从中选择所有详细信息 我有一个类似于Employee表的JavaPOJO类,实现将结果集转换为Employee类对象的最佳方法是什么 如果我有多个类,比如Employee和多个表,那么最好的实现方法是什么?如何编写可重用代码 我现在使用下面的符号 public Employee{ private int empId; public setEmpId(int empId){

例如,我有一个结果集,其中包含有关员工详细信息的详细信息,我有一个数据库中的员工表,我正在从中选择所有详细信息

  • 我有一个类似于Employee表的JavaPOJO类,实现将结果集转换为Employee类对象的最佳方法是什么

  • 如果我有多个类,比如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;
        }
    }
    
    我有一个类似于Employee表的JavaPOJO类,什么是最好的 方法实现将结果集转换为Employee类对象

    • 如果您知道JPA
      JPA
      ,那么这将是最好的选择。。你不会的 必须进行类型转换才能获取POJO对象。。JPA在ORM上工作 (对象关系映射)。它直接将您的
      POJO
      对象映射到 数据库表。。当您可以直接从 数据库

    • 如果您除了使用
      JDBC
      之外别无选择,那么您就没有 除
      类型转换之外的其他选择

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

    • 对于JDBC,我不知道您是哪种可重用性 正在查找,但您可以实现一个
      DB
      类,并拥有所有
      查询模板
      在那里。。对于要执行的任何查询,您都可以 使用那个类。。相对而言,与之相比,这会更好 具有分散在应用程序中的离散查询

    • 同样,如果您可以使用JPA,那么有一个
      实体的概念。。如果你
      如果您想使用数据库进行多次获取、更新或插入,这将使
      你。。您只需获取适当的对象并将其转储到实例中即可
      或将对象转储到数据库中,而无需担心任何类型的
      查询

    要开始JPA,您可以从以下任何链接开始:-

    我有一个类似于Employee表的JavaPOJO类,什么是最好的 方法实现将结果集转换为Employee类对象

    • 如果您知道JPA
      JPA
      ,那么这将是最好的选择。。你不会的 必须进行类型转换才能获取POJO对象。。JPA在ORM上工作 (对象关系映射)。它直接将您的
      POJO
      对象映射到 数据库表。。当您可以直接从 数据库

    • 如果您除了使用
      JDBC
      之外别无选择,那么您就没有 除
      类型转换之外的其他选择

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

    • 对于JDBC,我不知道您是哪种可重用性 正在查找,但您可以实现一个
      DB
      类,并拥有所有
      查询模板
      在那里。。对于要执行的任何查询,您都可以 使用那个类。。相对而言,与之相比,这会更好 具有分散在应用程序中的离散查询

    • 同样,如果您可以使用JPA,那么有一个
      实体的概念。。如果你
      如果您想使用数据库进行多次获取、更新或插入,这将使
      你。。您只需获取适当的对象并将其转储到实例中即可
      或将对象转储到数据库中,而无需担心任何类型的
      查询

    要开始JPA,您可以从以下任何链接开始:-


    如果您真的想编写可重用代码,请使用ORM工具,如。

    如果您真的想编写可重用代码,请使用ORM工具,如。

    Mybatis或ORM工具Hibernate可能是您的最佳解决方案。
    但是,如果您确实需要使用jdbc的ResultSet,并且希望将ResultSet转换为java bean,则可以检查:

  • 来自apache的ResultSetDynaClass
  • 或者,自己编写一些代码

  • Mybatis或类似于Hibernate的ORM可能是最好的解决方案。
    但是,如果您确实需要使用jdbc的ResultSet,并且希望将ResultSet转换为java bean,则可以检查:

  • 来自apache的ResultSetDynaClass
  • 或者,自己编写一些代码

  • 谢谢,但我现在正在使用JDBC。您提到的查询模板是什么?请您用一个模板向我解释一下好吗example@Prakash.. 您可以将所有的
    查询
    放在一个类中。。所有查询只需要
    查询字符串
    。。因此,您可以调用适当的查询并传递查询字符串。。该查询字符串将被替换并执行,以获得所需的结果。谢谢,但我现在正在使用JDBC。您提到的查询模板是什么?请您用一个模板向我解释一下好吗example@Prakash.. 您可以将所有的
    查询
    放在一个类中。。所有查询只需要
    查询字符串
    。。因此,您可以调用适当的查询并传递查询字符串。。该查询字符串将被替换并执行,以获得所需的结果谢谢分享您的想法这看起来很适合我的开发,但我有一个问题:数据库中是否有更复杂的连接,以及数据库列名是否从一个结果集更改为另一个结果集我如何管理(我能否为POJO中的注释提供更多别名)当
    选择
    时尝试添加别名,如下:
    从XXXtable中选择原名作为别名
    请告诉我如何创建我们自己的批注,谢谢advance@Prakash您不需要创建自己的注释,只需要使用javax.persistence包中的注释)公共@接口