将数据库的列声明为 POJO 类中的对象是否是一种好的做法?



这是我的数据库的一个例子,客户(idCustomer、姓名、电子邮件…(产品(idProduct,名称,价格…(订单(idOrder,idProduct,idCustomer,…(

我如何在订单类中申报idProduct

public class Order{
private int idCustomer ; 
private int idProduct ; 
private int idOrder ;
//Getters and setters
}

public class Order{ 
private Customer customer ; 
private Product product ; 
private int idOrder ; 
//Getters and Setters  } 

当我更改了第二个片段中显示的属性时。我在使用Setters和ResultSet时遇到了一个问题,所以我在循环中创建了一个Customer和Product变量。

public static  List<Order> getAllOrder() {
List<Order> list=new ArrayList<Order>() ; 
Customer c = new Customer()  ; 
Product p = new Product() 
try { 
Connection con =DB.getCon() ; 
java.sql.PreparedStatement ps=con.prepareStatement("select * from Order") ; 

ResultSet rs=ps.executeQuery()   ;
while (rs.next()) { 
Order o =new Order() ;
o.setIdOrder(rs.getInt(1)) ;
c.setIdCustomer(rs.getInt(2)) ;
o.setCustomer(c) ; 
p.setIdProduct(rs.getInt(3)) ;
c.setProduct(p) ;
list.add(o) ;} 
ps.close() ; 
con.close();

}catch (Exception e ) {System.out.println(e) ; }
return list ;}

我这样做的原因是,我希望我的项目忠于OOP概念,它有助于JOIN查询,这样我就可以检索订单类中没有声明的信息。谢谢大家

简短的答案是肯定的,最好将关系声明为对象,而不仅仅包括它们的Id。如果您发现自己经常使用Id而不使用对象的其余部分,那么添加额外的getter可能是个好主意,这些getter只从对象中获取Id。

相关内容

  • 没有找到相关文章

最新更新