MyBatis-Plus集成以及增强版MyBatis-Plus-Join集成到项目中

作为目前简便开发中mybatis-plus当然是项目中必不可少的工具,

下面是我在开发中集成mybatis-plus以及使用的过程介绍

1、首选介绍的普通版本的mybatis-plus集成,即只能进行单表的查询处理

引入依赖,如下代码,需要注意的是,由于mybatis-plus内部也有mybatis,但是版本比较低,可能会造成版本的冲突,所以我这里给mybastis-plus中的mybatis去除掉了,下面又再进入最新版本的mybatis,

<!--普通mybatis-plus配置-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.6</version>
    <exclusions>
        <exclusion>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!--mybatis配置-->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>3.0.3</version>
</dependency>

mybatis-plus配置完之后,还需要进行数据库的依赖引入,我这里使用的是mysql:

<!--mysql配置-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.30</version>
</dependency>

到这里,依赖就引入结束了,我这里通过idea自带的生成代码工具,生成相关代码,极力推荐,感觉很方便,不会使用的可以自行百度搜下,里面可以直接选择mybatis-plus代码生成

生成代码后,启动项目会发现报错,这里需要我们在启动类增加@MapperScan注解,去找到对应的mapper类

到这里我们就可以直接使用mybatis-plus了,比如我们想查询用户信息,则代码如下:

//普通mybatis-plus查询单表
LambdaQueryWrapper<SysUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotBlank(sysUser.getUserName())){
    lambdaQueryWrapper.eq(SysUser :: getUserName,sysUser.getUserName());
}
List<SysUser> list1 = baseMapper.selectList(lambdaQueryWrapper);

2、MyBatis-Plus-Join

但是我们在开发中会发现,很多逻辑单表查询是实现不了功能,需要进行表的关联,这时候上面的普通mybatis-plus就不能实现我们的功能了,我们需要引入新的依赖,如下代码:

<!--关联Join查询 mybatis查询配置-->
<dependency>
    <groupId>com.github.yulichang</groupId>
    <artifactId>mybatis-plus-join-boot-starter</artifactId>
    <version>1.4.11</version>
</dependency>

这个是对上面普通mybatis-plus只做增强不做修改,可以同时存在,这个时候我们想查询用户以及当前这个用户的角色名称信息,代码即如下:

//增强mybatis-plus查询多表关联查询
MPJLambdaWrapper<SysUser> mpjLambdaWrapper = new MPJLambdaWrapper<>();
mpjLambdaWrapper.selectAll(SysUser.class)
        .select(SysRole :: getRoleName)
        .leftJoin(SysUserRole.class,SysUserRole :: getUserId,SysUser :: getUserId)
        .leftJoin(SysRole.class,SysRole :: getRoleId,SysUserRole :: getRoleId);

List<SysUser> list2 = baseMapper.selectList(mpjLambdaWrapper);

MyBatis-Plus-Join有很多方法可到其官网进行查看使用

好了,结束收工!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值