Home
Softono

Mybatis Plus Join

Open source Apache-2.0 Java
1.5K
Stars
154
Forks
55
Issues
8
Watchers
2 months
Last Commit

 About Mybatis Plus Join

支持连表查询的mybatis-plus,mybatis-plus风格的连表操作提供left join、right join等操作

Platforms

Web Self-hosted

Languages

Java

Need Help Installing Mybatis Plus Join?

We provide expert installation service for this software. Our team will install, configure, and secure Mybatis Plus Join on your server. plans start at just $30.

Mybatis Plus Join

View on GitHub

Mybatis-Plus-Join-Logo

MyBatis-Plus-Join

为简化开发工作、提高生产率而生

Maven central code style

MyBatis-Plus 多表查询的扩展 | 演示工程 | 使用文档 | 点个Star支持一下吧 (☆▽☆)

可添加作者微信,咨询问题或提供意见与建议
添加作者微信,备注MPJ,加入微信群

使用文档WIKI

使用方法

安装

  • Maven
    <dependency>
        <groupId>com.github.yulichang</groupId>
        <artifactId>mybatis-plus-join-boot-starter</artifactId>
        <version>1.5.7</version>
    </dependency>
    
  • Gradle
     implementation 'com.github.yulichang:mybatis-plus-join-boot-starter:1.5.7'
    
    或者clone代码到本地执行 mvn install, 再引入以上依赖

    注意: MyBatis Plus版本需要3.1.2+

使用

  • mapper继承MPJBaseMapper

Lambda形式用法(MPJLambdaWrapper)

简单的连表查询

class test {
    @Resource
    private UserMapper userMapper;

    void testJoin() {
        MPJLambdaWrapper<UserDO> wrapper = JoinWrappers.lambda(UserDO.class)
                .selectAll(UserDO.class)
                .select(AddressDO::getTel)
                .leftJoin(AddressDO.class, AddressDO::getUserId, UserDO::getId)
                .eq(UserDO::getId, 1)
                .like(AddressDO::getTel, "1");

        //连表查询 返回自定义ResultType
        List<UserDTO> list = userMapper.selectJoinList(UserDTO.class, wrapper);

        //分页查询 (需要启用 mybatis plus 分页插件)
        Page<UserDTO> listPage = userMapper.selectJoinPage(new Page<>(2, 10), UserDTO.class, wrapper);
    }
}

对应sql

SELECT  
    t.id, t.name, t.sex, t.head_img, 
    t1.tel
FROM user t 
    LEFT JOIN address t1 ON t1.user_id = t.id
WHERE ( t.id = ? AND t1.tel LIKE ? )

完整使用文档 wiki

用爱发电

支持一下mybatis-plus-join