Mybatis-plus-join使用、mybatis连表
  3umkOS7lghMa 2023年11月02日 45 0
public interface PlanDayMapper  extends MPJBaseMapper<PwPlanDayPO> {
}
MPJLambdaWrapper<PwPlanDayPO> wrapper = MPJWrappers.lambdaJoin(PwPlanDayPO.class);
        wrapper.leftJoin(SysStaffPO.class,SysStaffPO::getStaffId,PwPlanDayPO::getLeadCode)
                .eq(PwPlanDayPO::getId,"14026b06-d626-4099-adfe-91679f41cac2")
                .select(PwPlanDayPO::getCode)
                .selectAs(SysStaffPO::getStaffId,PwPlanDayPO::getLeadCode);
        List<TSscPlanDayDto> dayDtos = planDayMapper.selectJoinList(TSscPlanDayDto.class, wrapper);

生成的sql

SELECT t.`code`,t1.`STAFF_ID` AS leadCode FROM PW_PLAN_DAY t LEFT JOIN SYS_STAFF t1 ON (t1.`STAFF_ID` = t.`lead_code`) WHERE (t.`id` = '14026b06-d626-4099-adfe-91679f41cac2')

引入依赖

<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3.4</version>
        </dependency>

        <dependency>
            <groupId>com.github.yulichang</groupId>
            <artifactId>mybatis-plus-join-boot-starter</artifactId>
            <version>1.4.6</version>
        </dependency>

 

likeRight   以什么开头

 

连表多条件案例

MPJLambdaWrapper<PwPlanDayPO> select = MPJWrappers.lambdaJoin(PwPlanDayPO.class)
                .leftJoin(PwPlanDayExecutePO.class, PwPlanDayExecutePO::getObjPlan, PwPlanDayPO::getId)
                .leftJoin(PwEngBasePO.class, PwEngBasePO::getEngId, PwPlanDayPO::getEngId)
                .leftJoin(PwPlanDayPositionPO.class, PwPlanDayPositionPO::getObjDayplan, PwPlanDayPO::getId)
                .leftJoin(PwFileInfoTablePO.class, PwFileInfoTablePO::getRelateBussTableId, PwPlanDayPO::getId)
                .leftJoin(PwPlanOperateLogPO.class, PwPlanOperateLogPO::getObjPlan, PwPlanDayPO::getId)
                .leftJoin(TSscPlanDayChkPO.class, TSscPlanDayChkPO::getObjDayplan, PwPlanDayPO::getId)
                .leftJoin(WorkPointPO.class, WorkPointPO::getTaskCode, PwPlanDayPO::getCode)
                .leftJoin(SysStaffPO.class, on -> on.eq(SysStaffPO::getStaffId, PwPlanDayPositionPO::getPersonCode)
                        .or().eq(SysStaffPO::getStaffId, PwPlanDayPO::getLeadCode))
                .selectAll(PwPlanDayPO.class)

 排除字段案例

LambdaQueryWrapper<PwPlanDayPositionPO> queryWrapper =
                Wrappers.lambdaQuery(PwPlanDayPositionPO.class)
                .eq(PwPlanDayPositionPO::getObjDayplan, objDayplan)
                .and(and -> and.ne(PwPlanDayPositionPO::getIsDelete, "1").or().isNull(PwPlanDayPositionPO::getIsDelete))
                .orderByAsc(PwPlanDayPositionPO::getCreateTime)
                        .select(PwPlanDayPositionPO.class,i->!i.getColumn().equals("id_card"));

 



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

3umkOS7lghMa