VO和DAO,如何设计类和执行查询

时间:2016-11-08 16:02:57

标签: java database spring dao

我有3张桌子:

Item: item_id (pk), short_description, ...
SupplierItem: item_id (fk), supplier_id (fk), vendor_product_number, ...
Supplier: item_supplier (pk), name, ...

物品与供应商之间的关系是多对多的。 SupplierItem是 中间表。
我想要使​​用VO和DAO。

如何在VO(Java)中设计它?

之后,如何在java代码中执行以下查询。

select i.item_id, i.short_description, s.vendor_product_number as FONUA_PRODUCT_CODE 
from item i 
left join supplier_item s
on i.item_id=s.item_id
where ((i.item_id=:item_id) OR :item_id IS NULL)
and i.parent_item_id is null
order by vendor_product_number DESC"

我仍然不理解使用VO和DAO的概念。

由于

1 个答案:

答案 0 :(得分:0)

DAO将是您定义查询并在数据库上获取查询结果的java文件。 通过将查询结果设置为特定VO属性的值,可以保存查询结果。

例如:

您的查询返回

  • item_id,short_description,vendor_product_number

那么让我们说你必须创建另一个java文件说ItemVO.java并声明ItemVO对象的特定属性, 对于Ex:

private String itemId;
private String shortDescription;
private String vendorShortNum;
/*Define your getters and setters*/

在DAO文件中,您必须将查询结果映射到VO文件的对象。

ItemVO itemVO= new ItemVO();
itemVO.setItemId(/*the particular column value from the query result*/);
itemVO.setShortDescription(/*the particular column value from the query result*/);
itemVO.setVendorShortNum(/*the particular column value from the query result*/);