为啥 DAO 有单独的创建和更新方法?

Posted

技术标签:

【中文标题】为啥 DAO 有单独的创建和更新方法?【英文标题】:Why do DAOs have separate create and update methods?为什么 DAO 有单独的创建和更新方法? 【发布时间】:2011-03-24 21:19:42 【问题描述】:

我正在研究 DAO 接口的一些设计。一个有一个update() 方法,而另一个有单独的create()update() 方法。

假设可以按照“插入否则更新”的方式做一些事情,单独的create() 方法有什么好处?是否与潜伏在那里的并发有关?

提前感谢您的帮助。

干杯, 罗斯

【问题讨论】:

【参考方案1】:

在创建 DAO 时,我使用两种单独的方法,只是为了清晰和明确。

如果只有一个 Update 方法并且有人传入一个现有对象,它将被更新。但是如果这个人真的想创建一个新对象而它已经存在的事实是错误的呢?

使用单一的 Update 方法,任何人都无法知道幕后究竟发生了什么。

【讨论】:

很好的解释。 +1。

以上是关于为啥 DAO 有单独的创建和更新方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 LINQ to SQL 创建通用数据访问对象 (DAO) CRUD 方法

Mybatis学习笔记 之Dao开发

拥有多个 DAO 可以吗?

Mybatis

使用 EntityManager (JPA) 在 DAO 中更新 () 方法的推荐行为?

如何设计一个DAO更新方法