在当前的Java EE趋势下,你这种简单的CRUD,出入参完全就取决于Model如何设计了,Model设计的好,代码自然简单易懂,我建议如下 1.用户与员工一对一,但是先有用户,后有员工还是先有员工,后有用户,由你自己来决定,既然是一对一,你就应该用一张表来存储,满足SQL范式 2.解决is-a问题,用户是员工,或者员工是可登录的用户,为了区分是员工和是用户,可以用继承完成,员工`employee`继承`user`,`Mapper`层面也可以继承,运行时,可通过`instanceof employee`完成对员工的判定 3.相信到这里,不难看出,新增用户和将一个用户变成员工,是完全不同的接口设计,这样拓展性极强,而且底层表是同一张,链表查询复杂度大大降低 4.如果后续有其他新增字段,可以选择`_extents`这样的表,将不常用字段或附加属性隔离 5.回头看这6个接口的出入参设计 * 创建部门、更新部门、获取部门详情信息 都是单表CRUD * 创建用户、更新用户 入参是user,返回是整个父类对象 * 获取用户详情信息入参是id,返回是整个父类对象 其他细节自行考虑