Java 如何将ResultSet对象转换为一个特定的POJO类对象?
例如,我有一个结果集,其中包含有关员工详细信息的详细信息,我有一个数据库中的员工表,我正在从中选择所有详细信息Java 如何将ResultSet对象转换为一个特定的POJO类对象?,java,resultset,Java,Resultset,例如,我有一个结果集,其中包含有关员工详细信息的详细信息,我有一个数据库中的员工表,我正在从中选择所有详细信息 我有一个类似于Employee表的JavaPOJO类,实现将结果集转换为Employee类对象的最佳方法是什么 如果我有多个类,比如Employee和多个表,那么最好的实现方法是什么?如何编写可重用代码 我现在使用下面的符号 public Employee{ private int empId; public setEmpId(int empId){
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
,那么这将是最好的选择。。你不会的 必须进行类型转换才能获取POJO对象。。JPA在ORM上工作 (对象关系映射)。它直接将您的JPA
对象映射到 数据库表。。当您可以直接从 数据库POJO
- 如果您除了使用
之外别无选择,那么您就没有 除JDBC
类型转换之外的其他选择
- 对于JDBC,我不知道您是哪种可重用性
正在查找,但您可以实现一个
类,并拥有所有DB
在那里。。对于要执行的任何查询,您都可以 使用那个类。。相对而言,与之相比,这会更好 具有分散在应用程序中的离散查询查询模板
- 同样,如果您可以使用JPA,那么有一个
实体的概念。。如果你 如果您想使用数据库进行多次获取、更新或插入,这将使 你。。您只需获取适当的对象并将其转储到实例中即可 或将对象转储到数据库中,而无需担心任何类型的
查询
- 如果您知道JPA
,那么这将是最好的选择。。你不会的 必须进行类型转换才能获取POJO对象。。JPA在ORM上工作 (对象关系映射)。它直接将您的JPA
对象映射到 数据库表。。当您可以直接从 数据库POJO
- 如果您除了使用
之外别无选择,那么您就没有 除JDBC
类型转换之外的其他选择
- 对于JDBC,我不知道您是哪种可重用性
正在查找,但您可以实现一个
类,并拥有所有DB
在那里。。对于要执行的任何查询,您都可以 使用那个类。。相对而言,与之相比,这会更好 具有分散在应用程序中的离散查询查询模板
- 同样,如果您可以使用JPA,那么有一个
实体的概念。。如果你 如果您想使用数据库进行多次获取、更新或插入,这将使 你。。您只需获取适当的对象并将其转储到实例中即可 或将对象转储到数据库中,而无需担心任何类型的
查询
但是,如果您确实需要使用jdbc的ResultSet,并且希望将ResultSet转换为java bean,则可以检查:
Mybatis或类似于Hibernate的ORM可能是最好的解决方案。
但是,如果您确实需要使用jdbc的ResultSet,并且希望将ResultSet转换为java bean,则可以检查:
谢谢,但我现在正在使用JDBC。您提到的查询模板是什么?请您用一个模板向我解释一下好吗example@Prakash.. 您可以将所有的
查询
放在一个类中。。所有查询只需要查询字符串
。。因此,您可以调用适当的查询并传递查询字符串。。该查询字符串将被替换并执行,以获得所需的结果。谢谢,但我现在正在使用JDBC。您提到的查询模板是什么?请您用一个模板向我解释一下好吗example@Prakash.. 您可以将所有的查询
放在一个类中。。所有查询只需要查询字符串
。。因此,您可以调用适当的查询并传递查询字符串。。该查询字符串将被替换并执行,以获得所需的结果谢谢分享您的想法这看起来很适合我的开发,但我有一个问题:数据库中是否有更复杂的连接,以及数据库列名是否从一个结果集更改为另一个结果集我如何管理(我能否为POJO中的注释提供更多别名)当选择
时尝试添加别名,如下:从XXXtable中选择原名作为别名
请告诉我如何创建我们自己的批注,谢谢advance@Prakash您不需要创建自己的注释,只需要使用javax.persistence包中的注释)公共@接口