我是靠谱客的博主 感性爆米花,最近开发中收集的这篇文章主要介绍关于MybatisPlus嵌套结果嵌套结果查询,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

嵌套结果查询

多数时候我们都会涉及到多张表的查询,而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嵌套结果嵌套结果查询所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部