关于增删改查是否应该使用同一个pojo

常见于spring mvc和jersey2的使用中,直接映射json为实体类的情景

 

以前我一直很习惯写很多实体类。现在发现,似乎一个表段对应一个实体类就能完成我们的工作了。这样做可以满足需要吗?会不会有什么弊端呢?

1.尝试

现有表user,字段为id,username,password,name

写出对应的实体类:userPojo.java

分为增删改查4种情况

(1)增

如果id为数据库自增,则json中没有必要传入id参数。此时映射为userPojo的id字段为null,对代码没有影响。所以可以放心使用userPojo。

(2)删

一般是根据主键进行删除,所以没有必要传入整个实体类。因此只要传入主键即可。不需要使用userPojo。

(3)改

需要传入id,其余同增操作,可以放心使用userPojo。

(4)查

查和以上的三种情况不太相同,有如下两种情况。

1.所有数据都需要展示

这时候就可以放心使用userPojo。

2.只展示部分数据

比如说,如果查询用户信息,那么user中的password字段一般是不展示的,如果依然使用userPojo,因为要设置返回对象中的password为空,所以json格式就会如下:

既然password一定是空的,我觉得干脆就索性不给出这个key-value。

我觉得减少一些内容多少可以减少传输的消耗。虽然优化效果可能不强,但是毕竟会有一些效果

这个算是不希望显示的字段很少的情况了。如果有很多字段都不希望显示,那么我觉得有必要另外写一个专门用于返回的实体类。

2.总结

如果是增和改的情况,完全可以使用单一实体类。如果是删除的情况,一般用不上传递实体类。至于查询的情况,我觉得需要具体情况具体分析。如果不需要给出的字段很多,那么有必要重新写个实体类进行优化。如果不是很多,那么也可以正常使用单一实体类。

发表评论

电子邮件地址不会被公开。 必填项已用*标注