MybatisPlus(MP)学习笔记2

接上一篇博客,这次主要学习serviceCRUD,分页查询以及条件构造器Wrapper

serviceCRUD

        上一篇说到了MapperCRUD,但是在实际的开发中,我们不可能说从controller层直接去调用dao层,肯定是去调用我们的service层,去实现我们的业务需求。MP也提供了service层的CRUD封装。

        通用ServiceCRUD封装IService接口,进一步封装CRUD采用get(查询单行),remove(删除),list(查询集合),page(分页)前缀命名方式来区分Mapper层的CRUD。

实现

step1:

        首先要创建service层的接口,并让该接口继承IService类。

        然后实现该接口

         注意:实现类要继承mp提供的service基类ServiceImpl,两个泛型分别为相应的Mapper接口,对应的pojo类

step2:

        来使用一下MP为我们提供的接口,这里获取一个id为1的用户的数据

MybatisPlus(MP)学习笔记2_第1张图片

 具体还提供了哪些接口可以自行去官网查看

CRUD 接口 | MyBatis-Plus

分页查询

        在MP中要实现查询的分页是非常简单的,因为MP已经为我们内置了分页功能。

        除了调用Page方法外,我们还要声明一个配置类:

@Configuration
@MapperScan("com.baomidou.cloud.service.*.mapper*")
public class MybatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

实现

MybatisPlus(MP)学习笔记2_第2张图片

 问题1:那如果是自己写了个mapper接口,还可以进行分页吗?

答案是肯定的,MP提供了XML自定义分页

只需要在mapper自定义接口的参数上加上一个IPage类型的参数即可

MybatisPlus(MP)学习笔记2_第3张图片

 

 问题2:我们并没有告诉MP我们创建的mapper.xml文件在哪里,为什么就执行成功了呢?

 这是MP的自动配置类中,已经设置了默认的mapper.xml存放的位置,下图:

 如果不想使用此默认地址,可以在springboot的配置文件中进行配置

条件构造器Wrapper

wrapper及其子类的介绍

wrapper是干嘛的呢?

是用来构造一些比较复杂的sql语句的

MybatisPlus(MP)学习笔记2_第4张图片

 QueryWrapper是查询时用的wrapper

UpdateWrapper是更新数据时用的wrapper

简单使用

我们使用QueryWrapper来查找出“张三”用户的相关信息

MybatisPlus(MP)学习笔记2_第5张图片

也可以用Lambda表达式来实现,这样就不需要知道数据库中的字段名是什么了

MybatisPlus(MP)学习笔记2_第6张图片

  

附 一些常用的方法:

MybatisPlus(MP)学习笔记2_第7张图片

 

 

你可能感兴趣的:(java,spring,boot,idea)