Skip to content

yulichang/mybatis-plus-join

Repository files navigation

Mybatis-Plus-Join-Logo

MyBatis-Plus-Join

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

Maven central code style

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

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

使用方法

安装

  • 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 ? )

用爱发电

支持一下mybatis-plus-join

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors