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

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

  2. 我有一个类似于Employee Table的java POJO类,它是将转换结果集实现为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; } } 

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

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

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

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

  • 如果除了使用JDBC之外别无选择,那么除了TypeCasting之外TypeCasting

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

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

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

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

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