欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【SpringBoot】SpringBoot整合MyBatis,以及配置PageHelper分页插件

程序员文章站 2022-07-15 10:29:27
...

SpringBoot整合MyBatis

首先创建一个SpringBoot工程

1、导入依赖

  • 此处MySQL使用的版本是8.0.22,也是SpringBoot中默认版本
  • 如果是MySQL5.7,则在依赖上手动指明版本<version>5.7</version>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.2</version>
</dependency>
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.3</version>
</dependency>

2、配置数据源和MyBatis配置

  • 在application.yml文件中配置
  • mapper-locations:扫描的mapper文件的目录
  • type-aliases-package:开启别名,路径为实体类的包路径
  • map-underscore-to-camel-case:开启驼峰命名装换
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/omini?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
    
mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.robot.omini.pojo
  configuration:
    map-underscore-to-camel-case: true

3、在启动类上添加注解

  • MapperScan:扫描Dao层接口的包路径
@SpringBootApplication
@MapperScan(basePackages = "com.robot.omini.dao")
public class OminiApplication {
    public static void main(String[] args) {
        SpringApplication.run(OminiApplication.class, args);
    }
}

由此SpringBoot整合MyBatis就完成了

SpringBoot配置PageHelper分页插件

在整合好MyBatis后,继续配置分页插件

1、导入依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.3.0</version>
</dependency>

2、使用

  • 比如需要查询全部课程,那么只需在查询语句的上一步只需PageHelper.startPage(currentPage, pageSize);即可
  • currentPage为当前页,pageSize为一页的大小
PageHelper.startPage(currentPage, pageSize);
List<CourseAndUser> courseList = courseDao.selectAllCourse();
  • 以上分页的原理是因为内部有一个拦截器,在执行SQL语句之前,会为其拼接limit,以此来达到分页的目的

只需两步,即可实现查询的分页操作