概述
嵌套结果查询
多数时候我们都会涉及到多张表的查询,而mybatisPlus只是对单表的操作做了封装,而涉及到多表就有些无能为力,所以根据业务和需求我们就要自己封装写sql语句查询。比如以下的代码就是我自己根据需求写的一段sql,
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.tsinghua.pes.domain.entity.AccountTenantCancel">
<id column="auth_plan_id" property="authPlanId" />
<result column="relation_tenant_id" property="relationTenantId" />
<result column="data_cancel_time" property="dataCancelTime" />
<result column="data_is_cutting_off_power" property="dataIsCuttingOffPower" />
<result column="data_user_id" property="dataUserId" />
<result column="data_add_time" property="dataAddTime" />
<result column="data_content" property="dataContent" />
<!--连接业主表的数据-->
<result column="auth_tenant_id" property="authTenantId" />
<result column="auth_tenant_name" property="authTenantName" />
<result column="building_num" property="buildingNum" />
<result column="tenant_num" property="tenantNum" />
</resultMap>
<select id="tenantCancelQueryPage" resultMap="BaseResultMap">
select tenant.auth_tenant_id,tenant.auth_tenant_name,tenant.building_num,tenant.tenant_num,
cancel.data_add_time,cancel.data_cancel_time,cancel.data_is_cutting_off_power
from account_tenant_cancel cancel
LEFT JOIN account_tenant tenant
ON cancel.relation_tenant_id = tenant.auth_tenant_id
${ew.customSqlSegment}
</select>
通常我们会直接通过在类中直接声明有关联的一个类的类型的变量,但是这样有一个局限性就是主类的数据太冗余,很多字段我们的sql没有查询出来,但是因为添加的是一个对象所以该对象的字段都会是Null值,自身的字段和连表的字段都是Null,所以好的做法就是只添加我们需要连表的几个字段,把查询结果映射到这几个字段就好了。
最后
以上就是感性爆米花为你收集整理的关于MybatisPlus嵌套结果嵌套结果查询的全部内容,希望文章能够帮你解决关于MybatisPlus嵌套结果嵌套结果查询所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复