上一篇 无SQL实现单表CRUD中我们已经通过Mybatis-plus插件的通用Mapper实现了单表的CRUD的无SQL化,已经可以有效减少Mybatis的代码量。但实际开发场景下,多数业务需求实现要涉及关联查询,你可以通过自己写SQL的方式去做,或者再深入思考一下有没有更方便的实现方案呢?
涉及关联的开发场景
1. 关联查询另外一张表的字段
1.1. id-name转换:
如department表中有org_id字段,关联organization表的id字段,前端显示Department部门信息时需要显示组织名称organization.name。
class DepartmentVO{
String orgName; //关联organization表的name字段
}
1.2. 可配置的元数据/数据字典之类的value-label转换
如department表中有状态字段status,存储值是"A","I"...,显示时需要转换为"正常","无效"...。
class DepartmentVO{
String statusLabel; //关联字典表转换为显示值
}
2. 关联查询另外一张表的单个实体
如部门实体Department(department表的Java映射对象)对应的VO对象中需要关联组织Organization实体(