mybatisPlus入门应用,通用IService增删改查

Posted 好大的月亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatisPlus入门应用,通用IService增删改查相关的知识,希望对你有一定的参考价值。

先上依赖

项目是springboot的,用的maven管理依赖

<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.2</version>
</dependency>

配置实体类和mapper

搞个实体类,默认实体类名和表名是对应的(忽略大小写),如果表名和类名不对应,那么就要使用
@TableName("work")
public class Work implements Serializable {
注解来声明一下对应的表名


如果列名有特殊的,无法自动下划线转驼峰的,那么可以使用
@TableField("company")
private String company;


对于id字段如果要设置成数据库自增那么需要声明一下
@TableId(value = "id", type = IdType.AUTO)
private Long id;


有些字段在数据库中不存在,但是业务上又需要定义的时候
@TableField(exist = false)
private String thisFieldisNotExistInDb;


在这里插入图片描述
IdType的几种类型
在这里插入图片描述

然后写mapper接口
在这里插入图片描述

接着启动类上面加mapperscan扫描注解
在这里插入图片描述

开启mp的sql日志

mp默认是集成了logback日志的,所以只需要在yml里开启就行了

logging:
  level:
    root: info
    com.fchan.hashmapstudy.dao: debug

在这里插入图片描述

配置是否开启驼峰和下划线互转

mybatis-plus:
  configuration:
    map-underscore-to-camel-case: true #开启驼峰和下划线互转

mp的通用service

先创建一个接口,继承mpIService
然后创建这个接口的实现类,这样就可以使用一些现成的方法了
方法可以参见官方文档里核心功能菜单下CRUD接口
https://mp.baomidou.com/guide/crud-interface.html#save
在这里插入图片描述

在这里插入图片描述

mp使用Page进行分页查询

我这边是springboot项目,所以用注解引入PaginationInterceptor拦截器

package com.fchan.hashmapstudy.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MybatisPageConfig {

    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false
        // paginationInterceptor.setOverflow(false);
        // 设置最大单页限制数量,默认 500 条,-1 不受限制
        // paginationInterceptor.setLimit(500);
        // 开启 count 的 join 优化,只针对部分 left join
        paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
        return paginationInterceptor;
    }

}

mapper接口里定义一个分页查询方法,有多个参数的时候要给后面的condition参数通过@Params定义一个变量名,不然mybatis识别不出来

在这里插入图片描述
service里也创建一个方法
在这里插入图片描述
xml里定义sql语句分页查询数据
在这里插入图片描述

以上是关于mybatisPlus入门应用,通用IService增删改查的主要内容,如果未能解决你的问题,请参考以下文章

[MyBatisPlus]通用枚举

[MyBatisPlus]通用枚举

[MyBatisPlus]通用枚举

MybatisPlus 快速构建MybatisPlus 原生mybatis(分页查询) 通用枚举 service 封装 自动填充

MybatisPlus 快速构建MybatisPlus 原生mybatis(分页查询) 通用枚举 service 封装 自动填充

MybatisPlus 学习通用枚举