【Mybatis-plus-join】 eq、ne等两个表字段关联

Metadata

title: 【Mybatis-plus-join】 eq、ne等两个表字段关联
date: 2023-01-22 18:57
tags:
  - 行动阶段/完成
  - 主题场景/组件
  - 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
  - 细化主题/Module/Mybatis-plus-join
categories:
  - Mybatis-plus-join
keywords:
  - Mybatis-plus-join
description: 【Mybatis-plus-join】 eq、ne等两个表字段关联

【Mybatis-plus-join】 eq、ne等两个表字段关联

List<UsersVo> list = Joins.of(Users.class)
                .pushLeftJoin(UsersVo::getUsersAge)
                .eq(Users::getAgeId, UsersAge::getId)
                .le(Users::getAgeId, UsersAge::getId)
                .lt(Users::getAgeId, UsersAge::getId)
                .ge(Users::getAgeId, UsersAge::getId)
                .gt(Users::getAgeId, UsersAge::getId)
                .ne(Users::getAgeId, UsersAge::getId)
                .between(Users::getAgeId, UsersAge::getId, UsersAge::getAgeName)
                .notBetween(Users::getAgeId, UsersAge::getId, UsersAge::getAgeName)
                .joinList(UsersVo.class);
SELECT
    users.user_name,
    users.create_time,
    users.age_id,
    users.content_json,
    users.user_id,
    t2.age_doc AS t2_ageDoc,
    t2.age_name AS t2_ageName,
    t2.create_time AS t2_createTime,
    t2.content_json_age AS t2_contentJsonAge,
    t2.id AS t2_id 
FROM
    users AS users
    LEFT JOIN users_age AS t2 ON t2.id = users.age_id 
WHERE
    (
        users.age_id = t2.id 
        AND users.age_id <= t2.id 
        AND users.age_id < t2.id 
        AND users.age_id >= t2.id 
        AND users.age_id > t2.id 
        AND users.age_id <> t2.id 
        AND users.age_id BETWEEN t2.id 
        AND t2.age_name 
    AND users.age_id NOT BETWEEN t2.id 
    AND t2.age_name)