java中的CRUD操作模板

时间:2016-04-16 14:05:25

标签: java design-patterns crud

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

我找到了4个“模式”。所有人都同意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);

我不明白每个人的差异和优点/缺点(没有人解释)。每个“模式”之间有什么区别?使用什么标准?有人可以证明何时使用这种或那种方式(或给我另一种想法)?

提前感谢您的回答

2 个答案:

答案 0 :(得分:2)

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

如果要批量插入对象,那么该模式2.

如果您不希望从CRUD操作中返回任何内容,请创建方法void

您想要返回的值是重要的部分,&#34;模式&#34;并不重要,他们完全依赖于底层的API使用。例如,SQL Server插入操作可能会返回插入对象的行ID。在这种情况下,您可以只返回ID,或者作为参数传递的同一对象,但设置了ID字段。

答案 1 :(得分:0)

Jut问,为什么要写\设计自己的实现。 我为此使用了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

您也可以参考他们的实施。

相关问题