springboot + mybatis整合及pagehelper分页

本文链接:https://blog.csdn.net/he446242377/article/details/92062619

流程:

一. 配置pom.xml文件
二. 配置application.yml文件
三. 程序启动类中使用@MapperScan()注解指定mapper(dao)接口路径
四. 使用pagehelper实现分页

一、配置pom.xml文件

    <!-- boot整合web模块的依赖,此依赖中包含了springmvc的依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

     <!-- 整合mybatis的依赖 -->
     <dependency>
         <groupId>org.mybatis.spring.boot</groupId>
         <artifactId>mybatis-spring-boot-starter</artifactId>
         <version>2.0.1</version>
     </dependency>

     <!-- 使用mysql需要的依赖 -->
     <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <scope>runtime</scope>
      </dependency>

      <!-- 快速操作实体类 -->
      <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <optional>true</optional>
      </dependency>

      <!-- 单元测试 -->
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-test</artifactId>
          <scope>test</scope>
      </dependency>

      <!-- 分页使用的依赖 -->
      <dependency>
          <groupId>com.github.pagehelper</groupId>
          <artifactId>pagehelper-spring-boot-starter</artifactId>
          <version>1.2.3</version>
      </dependency>

      <build>
      <!-- 如果Mapper.xml所在文件夹和controller、service同级,不在resources文件下则需要导入 -->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <filtering>false</filtering>
                <includes>
                    <include>**/mapper/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

二、配置application.yml文件

server:
  port: 8081
#关于数据库连接的配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/48topic?useUnicode=true&amp&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  configuration:
    map-underscore-to-camel-case: true
#打印SQL语句
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#Mapper.xml文件的位置,这个路径是和controller、service同级。
  mapper-locations: classpath:com/hps/*/mapper/*.xml
#分页的配置
pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

三、程序启动类中使用@MapperScan()注解指定mapper(dao)接口路径

@MapperScan()扫描dao接口的位置
image.png

vvv项目目录vvv。到此springboot整合mybatis就已经完成

image.png

四、使用pagehelper实现分页

使用pagehelper实现分页很简单,只需要在Service实现类做一些处理,Service实现类方法案例:

public PageInfo<Course> findAll(Integer pageNum, Integer pageSize) {
        PageHelper.startPage(pageNum,pageSize);//分页
        //查询分组列表
        List<Course> list = courseDao.findAll();
        // 获取分页信息
        PageInfo<Course> pageInfo = new PageInfo<>(list);
        return pageInfo;
}

返回的PageInfo中包含一些属性:
pageNum 当前页
pageSize 每页的数量
size 当前页的数量
startRow 当前页面第一个元素在数据库中的行号
endRow 当前页面最后一个元素在数据库中的行号
total 总记录数
pages 总页数
list 结果集

标签: SpringBoot, MyBatis, PageHelper, 分页

评论已关闭