![](/img/trans.png)
[英]How to design interfaces for complex query in DAO(Should we always design generic interfaces for DAO)?
[英]VO and DAO, How to design classes and execute query
我有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的概念。
谢谢
DAO将是Java文件,您可以在其中定义查询并在数据库上获取查询调用的结果。 通过将查询结果设置为特定VO属性的值,可以保存查询结果。
例如:
您的查询返回,
因此,让我们说,您将必须创建另一个Java文件(即ItemVO.java)并声明ItemVO对象的特定属性,例如:
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*/);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.