实体类规范:网络传输:DTO。 如前端传值到后端。中间层:BO。 如查询条件,数据库连表后接受实体类。数据库表:DO。如user_tab表对应的实体类。界面展示层:VO。 返回给前端的实体类。VO实体类:由于java有默认的数据类型。例如int和Integer,那么在实体类中应该如何定义呢?答:当前端需要的值为0或者其他整数时,定位为int。又例如:前端需要的值为null或者其他整数时,定义为Integer。例子:OA系统时返回项目逾期时长。如果项目还没到逾期时间,那么返回的值肯定不能为0,只能为Integer。BO实体类:推荐全部都用包装类,因为mybatis进行<if>标签判断的时候,都可以用 null进行判断。DO实体类:推荐使用包装类,接受数据库查询返回时,如果为空,可以直接获取而不用转为基本数据类型。SQL规范:到底是否需要表连接?如果你不用表连接,你需要先在一张表查询,然后需要判断数据是否存在,接着通过这张表查询的数据进行外键的查询。如果使用了表连接,可以帮你节省大量的代码,在表连接的同时自动替你判断数据是否存在。然而这会存在表数据重复的问题,尽管你可以使用group by,但有时候sum这些聚合函数会不适用与你的业务场景。