首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java中的CRUD操作模板

java中的CRUD操作模板
EN

Stack Overflow用户
提问于 2016-04-16 14:05:24
回答 2查看 1.8K关注 0票数 2

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

我发现了4种“模式”。它们在读操作中都是一致的,所以我跳过它们。我将定义模式:

模式1

代码语言:javascript
运行
复制
void add(E entity);
void update(E entity);
// Read operations...
void delete(E entity);

模式2

代码语言:javascript
运行
复制
E create(<ListOfEntityProperties>);
void update(E entity);
// Read operations...
void delete(E entity);

模式3

代码语言:javascript
运行
复制
boolean add(E entity);
boolean update(E entity);
// Read operations...
boolean delete(E entity);

模式4

代码语言:javascript
运行
复制
E add(E entity);
void update(E entity);
// Read operations...
void delete(E entity);

我不明白每一种方法的优缺点(而且没有人解释)。每一种“模式”之间有什么区别?使用什么标准?有人能证明什么时候使用这种或那种方式(或者给我另一个想法)是合理的吗?

提前谢谢你的回答

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-17 01:05:09

例如,以模式3为例,您可以使用布尔值来判断某个内容是否成功地被删除或添加。删除的大小写是可以的,但是对于添加或更新的情况,您可能希望对象返回一个分配给数据库的id,该id看起来类似于模式4。

如果您想对插入对象进行批处理,那么这就是模式2。

如果您不期望从CRUD操作返回任何内容,那么就让方法void

您希望返回的值是重要的部分,“模式”并不那么重要,它们完全依赖于底层API的使用。例如,Server插入操作可能返回插入对象的行ID。在这种情况下,您可以只返回ID或作为参数传递的相同对象,但其ID字段设置。

票数 2
EN

Stack Overflow用户

发布于 2016-04-19 18:05:45

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

您也可以引用它们的实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36665166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档