为每个数据库表创建一个单独的DAO实现类是一个好方法吗?

时间:2017-02-26 15:38:32

标签: java database dao

我有两个名为table_1table_2的表,在每个表上我必须执行一些插入,删除和更新操作。

任何人都可以告诉我,我应该创建两个不同的(数据访问对象)实现还是应该只有一个?并说明两种方法的优点或缺点。

1 个答案:

答案 0 :(得分:2)

如果可以在两个表中单独插入/更新/删除行,那么是,您应该继续使用单独的DAO类。以下是优点:

  • 它宣传separation of concerns设计模式。
  • Spring data jpa也使用相同的设计,它适用于每个实体Repository(在我们的例子中为表格)
  • 如果您有任何需要查询表1和表2的功能,那么理想情况下应该进入service层并调用两个DAO。此外,如果这些表之间存在任何外键关系,则可以使用@OneToMany@ManyToMany等注释对其进行映射。