保姆级无坑springboot+mybatis-plus-join入门用例

文章介绍了如何使用MyBatisPlus进行SQL查询,包括从user表左连接permission表,通过UserTMapper接口实现连表查询,以UserT实体类为例,展示了一个单元测试方法,查询id为8的用户及其权限信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sql语句   最简单连表查询

select
    user.id, username, parentId,password

from user
left join permission on permission.id = user.id
where
    user.id=8;

SQL执行结果 

实体类

UserT

@TableName("user")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserT {
    private Integer id;
    private String username;
    private String password;
    private String name;
}

 Permission类

@Data
@TableName("permission") //在数据库中的表名
public class Permission{
    private Integer id;
    private Integer parentId;
    private String name;
}

 Mapper接口

UserTMapper

@Mapper
@Repository  //代表持久层,所有CURD已经完成
public interface UserTMapper extends BaseMapper<UserT>, MPJBaseMapper<UserT> {

}


PermissionMapper

@Mapper
@Repository
public interface PermissionMapper extends BaseMapper<Permission>, MPJBaseMapper<Permission> {

单元测试类

@Slf4j
@SpringBootTest
@RunWith(SpringRunner.class)   // 
public class mybatisplusjoin {
    @Resource
    private UserTMapper userTMapper;
    @Autowired
    private PermissionMapper permissionMapper;  // 注解为空 不能通过new的方式

    @Test
    public void testSelect() {
        MPJLambdaWrapper<UserT> wrapper = JoinWrappers.lambda(UserT.class)
                .selectAll(UserT.class)
                .select(UserT::getPassword, UserT::getId, UserT::getUsername)
                .leftJoin(Permission.class, Permission::getId, UserT::getId)
                .eq(UserT::getId, 8);

        List<UserT> list = userTMapper.selectJoinList(UserT.class, wrapper);
        list.forEach(System.out::println);
    }


}

执行结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村长在路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值