Java 为现有项目设计DAO模型
我看到的大多数DAO示例都由只涉及一个表的简单查询组成 我正在重构一个没有DAO的项目,该项目有很多SQL查询,其中使用了多个表。我的问题是如何最好地为DAO设计模型?在下面的示例中,我可以创建一个覆盖每个特定查询的对象。但是我不确定这是否是一个好的练习。e、 g.用一个对象表示每个db表是否更好 要涵盖此查询的CustomerPaymentDAO: CustomerPurchaseDAO以涵盖此查询:Java 为现有项目设计DAO模型,java,dao,Java,Dao,我看到的大多数DAO示例都由只涉及一个表的简单查询组成 我正在重构一个没有DAO的项目,该项目有很多SQL查询,其中使用了多个表。我的问题是如何最好地为DAO设计模型?在下面的示例中,我可以创建一个覆盖每个特定查询的对象。但是我不确定这是否是一个好的练习。e、 g.用一个对象表示每个db表是否更好 要涵盖此查询的CustomerPaymentDAO: CustomerPurchaseDAO以涵盖此查询: 一般来说,有两种选择: 创建对应于每个表的实体,并指定必要的关系(多对多、多对一、一对一
一般来说,有两种选择:
第二种情况适用于只读对象。如果需要创建/更新/删除实体,则需要创建对应于每个表的实体 在OO中,DAO通常返回一个对象或该对象的集合,并且DAO与之链接。然后导航关系以从相关对象获取值。但是你可以自由地做看起来最合乎逻辑的事情。只要DAO层封装了用于访问数据的技术手段(excel文件、通过Hibernate的数据库、通过JDBC的数据库)
select
a.username,
p.creation_date,
p.amount,
c.card_type
from
account a,
payment p,
payment_type t,
payment_card c
where
...
select
a.username,
i.name,
i.cost,
c.name,
v.value
from
account a,
item i,
category c,
voucher v
where
...