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
先创建一个接口,继承mp
的IService
然后创建这个接口的实现类,这样就可以使用一些现成的方法了
方法可以参见官方文档里核心功能菜单下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 原生mybatis(分页查询) 通用枚举 service 封装 自动填充
MybatisPlus 快速构建MybatisPlus 原生mybatis(分页查询) 通用枚举 service 封装 自动填充