我正在设计一个系统,我必须在系统实体之间执行多个CRUD操作。只是为了确保我在论坛中搜索以了解它是如何由其他人解决的。
我找到了4个“模式”。所有人都同意READ操作,所以我跳过它们。我将定义模式:
void add(E entity);
void update(E entity);
// Read operations...
void delete(E entity);
E create(<ListOfEntityProperties>);
void update(E entity);
// Read operations...
void delete(E entity);
boolean add(E entity);
boolean update(E entity);
// Read operations...
boolean delete(E entity);
E add(E entity);
void update(E entity);
// Read operations...
void delete(E entity);
我不明白每个人的差异和优点/缺点(没有人解释)。每个“模式”之间有什么区别?使用什么标准?有人可以证明何时使用这种或那种方式(或给我另一种想法)?
提前感谢您的回答
答案 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
您也可以参考他们的实施。