Spring-Boot MyBatis Pagehelper分页查询

Spring-Boot MyBatis Pagehelper分页查询

1.创建数据可表
在这里插入图片描述

2.加入maven 依赖

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <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>

        <!-- mysql-connector-java 数据库驱动依赖 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>

        <!--        mybatis-pluss-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

        <!--pagehelper分页-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis-spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>


        <!--热部署-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

    </dependencies>

3.配置文件application.propertis

spring.mvc.view.prefix=/
spring.mvc.view.suffix=.html
##关闭thymeleaf的缓存,不然在开发过程中修改页面不会立刻生效需要重启,生产可配置为true
#spring.thymeleaf.cache=false
#前端控制器访问静态资源放行
spring.web.resources.static-locations=classpath:/static/
#spring默认有数据源
spring.datasource.username=root
spring.datasource.password=19990507
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/flower?serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
#MyBatis的配置
#扫包取别名
mybatis-plus.type-aliases-package=com.xmx.flowerspringboot.pojo
#xml文件配置
mybatis-plus.mapper-locations=classpath:mapper/*.xml
mybatis-plus.config-locations=classpath:config/*.xml
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
# actuator配置
management.security.enabled=false
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
############# 分页插件PageHelper配置 #############
pagehelper.helper-dialect=mysql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
pagehelper.pageSizeZero=true
pagehelper.params=count=countSql
#f防止因循环引用导致启动时报错的问题
spring.main.allow-circular-references=true

4.代码区域

4.1–pojo

package com.xmx.flowerspringboot.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @create: 2022-03-01 17:45
 * @author: 郑兴源
 * @description:
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Flower {
    private Integer id;
    private String name;
    private String anothername;
    private String property;
    private Double price;
    private String production;
}

4.2–dao

package com.xmx.flowerspringboot.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xmx.flowerspringboot.pojo.Flower;

import java.util.List;
import java.util.Map;

/**
 * @create: 2022-03-01 17:44
 * @author: 郑兴源
 * @description:
 **/

public interface FlowerDao extends BaseMapper<Flower> {
    //分頁查询
     List<Flower> getFlowesPage(Map map);
}

Mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xmx.flowerspringboot.dao.FlowerDao">

    <select id="getFlowesPage" parameterType="map" resultType="Flower">
        select * from flower
        <if test="search!=null">
            where name like concat('%',#{search},'%')
        </if>
    </select>

</mapper> 

4.3serviceImpl

    @Override
    public PageInfo<Flower> findPage(Integer pageIndex, Integer pageSize, String search) {
        // 启动分页
        PageHelper.startPage(pageIndex, pageSize);
        QueryWrapper<Flower> queryWrapper = new QueryWrapper<>();
        //模糊查询的条件
        queryWrapper.like(search != null, "name", search);
        //执行查询
        List<Flower> list = flowerDao.selectList(queryWrapper);
        PageInfo<Flower> pageInfo = new PageInfo<>(list);
        //打印输出
        System.out.println(pageInfo);
        return pageInfo;
    }

4.5–controller

package com.xmx.flowerspringboot.controller;

import com.github.pagehelper.PageInfo;
import com.xmx.flowerspringboot.dao.FlowerDao;
import com.xmx.flowerspringboot.pojo.Flower;
import com.xmx.flowerspringboot.service.FlowerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @create: 2022-03-01 17:56
 * @author: 郑兴源
 * @description:
 **/
@RestController

public class FlowerController {
    @Autowired
    FlowerDao flowerDao;
    @Autowired
    FlowerService flowerService;

    @GetMapping("/finfPage")
    public PageInfo<Flower> findAll(@RequestParam(defaultValue = "1") Integer pageIndex,
                                    @RequestParam(defaultValue = "3") Integer pageSize,
                                    String search) {
        PageInfo<Flower> pageInfo = flowerService.findPage(pageIndex, pageSize, search);
        return pageInfo;
    }


5.运行结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值