java 中的 CRUD 操作模板

CRUD operations template in java

我正在设计一个系统,我必须在系统实体中执行多个 CRUD 操作。只是为了确保我在论坛中进行了搜索,看看其他人是如何解决它的。

我找到了 4 个 "patterns"。他们都同意 READ 操作,所以我跳过它们。我将定义模式:

模式 1

void add(E entity);
void update(E entity);
// Read operations...
void delete(E entity);

模式 2

E create(<ListOfEntityProperties>);
void update(E entity);
// Read operations...
void delete(E entity);

模式 3

boolean add(E entity);
boolean update(E entity);
// Read operations...
boolean delete(E entity);

模式 4

E add(E entity);
void update(E entity);
// Read operations...
void delete(E entity);

我不明白每一个的区别和 advantages/disadvantages(没有人解释)。每个"pattern"有什么区别?使用什么标准?有人可以证明何时使用这种或另一种方式(或给我另一个想法)吗?

提前感谢您的回答

以模式 3 为例,您将使用布尔值来了解是否成功删除或添加了某些内容。删除的案例没问题,但对于添加或更新的案例,您可能希望对象返回一个数据库分配的 id,这看起来像模式 4。

如果要批量插入对象,那就是模式2。

而且,如果您不希望 return 从 CRUD 操作中得到任何东西,则将方法设为 void

您想要 return 的值是重要部分,"patterns" 无关紧要,它们完全取决于基础 API 用法。例如,SQL 服务器插入操作可能 return 插入对象的行 ID。在这种情况下,您可以 return 只是 ID,或者您作为参数传递的同一对象,但设置了其 ID 字段。

只是问,为什么要 write\design 您自己的实现。 我为此使用了 java-ee 注释。

参考资料: https://docs.oracle.com/javaee/6/api/javax/ws/rs/package-summary.html http://www.techferry.com/articles/RESTful-web-services-JAX-RS-annotations.html

你也可以参考他们的实现。