Mybaties Plus3.4.0版, mybatis-plus-join包的简单使用

一丶简介

众所周知MybatiesPlus框架封装一些简单的操作数据库的方法, 但对于联表的一些操作3.4.0版本之前是没有任何封装方法的, 3.4版本之后提供了两个条件构造器并封装了一些联表操作的方法 !

二丶使用前提

1丶将Mybaties Plus升到 >= 3.4.0版本
2丶引用 jar 包 :

<!-- mybatis-plus-join 联表查询依赖 -->
        <dependency>
            <groupId>com.github.yulichang</groupId>
            <artifactId>mybatis-plus-join</artifactId>
            <version>1.1.8</version>
        </dependency>

3丶mapper继承MPJBaseMapper(它是继承了BaseMapper)

三丶两个条件构造器: MPJQueryWrapper 和 MPJLambdaWrapper

1丶不同 : 入参方式的不同, MPJLambdaWrapper更倾向于JAVA编辑, MPJQueryWrapper更倾向于数据库操作编辑 . 如下图 :
在这里插入图片描述
2丶相同点 : 都是联表查询构造器

四丶使用MPJLambdaWrapper构造器测试几个方法的简单使用

在这里插入图片描述

@Test
    public void test1() {
        // 联表查询条数
        Integer index = jzjlDao.selectJoinCount(
                new MPJLambdaWrapper<JZJLEntity>()
                        .eq(JZJLEntity::getKSBH,"001")
                        .leftJoin(KSGLEntity.class, KSGLEntity::getBH, JZJLEntity::getKSBH));
        System.out.println(JSONObject.toJSONString(index));

        // 联表查询单条
        JZJLEntity entityA = jzjlDao.selectJoinOne(JZJLEntity.class,
                new MPJLambdaWrapper<JZJLEntity>()
                        .select(JZJLEntity::getXM)
                        .select(JZJLEntity::getJZSJ)
                        .selectAs(KSGLEntity::getMC,JZJLEntity::getKSMC)
                        .eq(JZJLEntity::getBH, "0001")
                        .leftJoin(KSGLEntity.class, KSGLEntity::getBH, JZJLEntity::getKSBH));
        System.out.println(JSONObject.toJSONString(entityA));

        // 联表查询多条数据
        List<JZJLEntity> listA = jzjlDao.selectJoinList(JZJLEntity.class,
                new MPJLambdaWrapper<JZJLEntity>()
                        .select(JZJLEntity::getXM)
                        .select(JZJLEntity::getJZSJ)
                        .selectAs(KSGLEntity::getMC,JZJLEntity::getKSMC)
                        .leftJoin(KSGLEntity.class, KSGLEntity::getBH, JZJLEntity::getKSBH));
        System.out.println(JSONObject.toJSONString(listA));

        // 联表分页查询
        IPage<JZJLEntity> iPage = jzjlDao.selectJoinPage(new Page<JZJLEntity>(2, 10), JZJLEntity.class,
                new MPJLambdaWrapper<JZJLEntity>()
                        .selectAll(JZJLEntity.class)
                        .selectAs(KSGLEntity::getMC, JZJLEntity::getKSMC)
                        .leftJoin(KSGLEntity.class, KSGLEntity::getBH, JZJLEntity::getKSBH));
        System.out.println(JSONObject.toJSONString(iPage.getRecords()));

        // 联表查询单条Map
        Map<String,Object> map = jzjlDao.selectJoinMap(
                new MPJLambdaWrapper<JZJLEntity>()
                        .selectAll(JZJLEntity.class)
                        .selectAs(KSGLEntity::getMC, JZJLEntity::getKSMC)
                        .eq(JZJLEntity::getBH, "0001")
                        .leftJoin(KSGLEntity.class, KSGLEntity::getBH, JZJLEntity::getKSBH));
        System.out.println(JSONObject.toJSONString(map));

    }

就写到这吧, 有问题下方留言 !

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值