【Mybatis-plus-join】使用构建器调用join查询方法

Metadata

title: 【Mybatis-plus-join】使用构建器调用join查询方法
date: 2023-01-22 18:52
tags:
  - 行动阶段/完成
  - 主题场景/组件
  - 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
  - 细化主题/Module/Mybatis-plus-join
categories:
  - Mybatis-plus-join
keywords:
  - Mybatis-plus-join
description: 【Mybatis-plus-join】使用构建器调用join查询方法

【Mybatis-plus-join】使用构建器调用join查询方法

joinList

// joinList
List<UsersVo> list = Joins.of(Users.class)
                .leftJoin(UsersAge.class,UsersAge::getAgeId,Users::getAgeId)
                              .eq(UsersAge::getAgeName,1).end()
                .joinList(UsersVo.class);
 // 生成SQL
SELECT
    users.user_name,
    users.create_time,
    users.age_id,
    users.content_json,
    users.user_id
FROM
    users AS users
    LEFT JOIN users_age AS users_age ON users_age.id = users.age_id 
WHERE
    users_age.age_name = '1'

joinGetOne

 // joinGetOne
UsersVo userVo = Joins.of(Users.class)
                .leftJoin(UsersAge.class,UsersAge::getAgeId,Users::getAgeId)
                              .eq(UsersAge::getAgeName,1).end()
                .joinGetOne(UsersVo.class);
// 生成SQL
SELECT
    users.user_name,
    users.create_time,
    users.age_id,
    users.content_json,
    users.user_id
FROM
    users AS users
    LEFT JOIN users_age AS users_age ON users_age.id = users.age_id 
WHERE
    users_age.age_name = '1'

joinCount

UsersVo userVo = Joins.of(Users.class)
                .leftJoin(UsersAge.class,UsersAge::getAgeId,Users::getAgeId)
                              .eq(UsersAge::getAgeName,1).end()
                .joinCount();
SELECT
    count(*)
FROM
    users AS users
    LEFT JOIN users_age AS users_age ON users_age.id = users.age_id 
WHERE
    users_age.age_name = '1'

joinPage

Page<UsersVo> pageResult = Joins.of(Users.class)
                .leftJoin(UsersAge.class,UsersAge::getAgeId,Users::getAgeId)
                              .eq(UsersAge::getAgeName,1).end()
                .joinPage(page,UsersVo.class);
SELECT
    users.user_name,
    users.create_time,
    users.age_id,
    users.content_json,
    users.user_id
FROM
    users AS users
    LEFT JOIN users_age AS users_age ON users_age.id = users.age_id 
WHERE
    users_age.age_name = '1'
limit 10