【Mybatis-plus-join】 构造器的使用方法
【Mybatis-plus-join】 构造器的使用方法
Metadata
title: 【Mybatis-plus-join】 构造器的使用方法
date: 2023-01-22 18:42
tags:
- 行动阶段/完成
- 主题场景/组件
- 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
- 细化主题/Module/Mybatis-plus-join
categories:
- Mybatis-plus-join
keywords:
- Mybatis-plus-join
description: 【Mybatis-plus-join】 构造器的使用方法
【Mybatis-plus-join】 构造器的使用方法
// 第一步new 一个JoinLambdaWrapper构造参数是主表的实体对象(如果在service中直接使用joinLambdaWrapper()方法即可获得)
JoinLambdaWrapper<Users> wrapper = new JoinLambdaWrapper<>(Users.class);
// 第二步 使用leftJoin方法创建一个左连接
/*
有三个方法可以使用
leftJoin 左联
rightJoin 右联
innerJoin 内联
*/
// 这一部分一个参数是join中定义的连接的表,第二个参数是随意的表,但是是要出现构造器中的
wrapper.leftJoin(UsersAge.class,UsersAge::getId,Users::getAgeId);
// 然后可以设置多表中的查询条件,这一步和mp一致
wrapper.eq(UserAge::getAgeName,"95")
.select(UserAge::getAgeName)
// 最后一步 需要使用end方法结束
.end();
// 完整的就是
JoinLambdaWrapper<Users> wrapper = new JoinLambdaWrapper<>(Users.class);
wrapper.leftJoin(UsersAge.class,UsersAge::getId,Users::getAgeId)
.eq(UserAge::getAgeName,"95")
.select(UserAge::getAgeName)
.end();
usersService.joinList(wrapper,UsersVo.class);
// 或者如果你的类只有mapper继承了,那你可以
JoinLambdaWrapper<Users> wrapper = new JoinLambdaWrapper<>(Users.class);
wrapper.leftJoin(UsersAge.class,UsersAge::getId,Users::getAgeId)
.eq(UserAge::getAgeName,"95")
.select(UserAge::getAgeName)
.joinList(UsersVo.class);
select
users.user_id,
users.user_name,
users_age.age_name
from users users
left join users_age users_age on users_age.id = users.age_id
where (
users_age.age_name = '95'
)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 蝶梦庄生!
评论