我是靠谱客的博主 彩色时光,最近开发中收集的这篇文章主要介绍springMvc+mybatisPlus的lambdaQueryWrapper的模糊分页查询,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

<!-- 坐标部分 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
</parent>

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    <!--mysql-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <!--jpa-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!-- Mybatis plus-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.0</version>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus</artifactId>
        <version>3.4.0</version>
    </dependency>
    <!--实体插件,lombok-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>

</dependencies>

配置文件 yml

server:
  port: 9935
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/product1?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=true&useUnicode=true
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
  jpa:
    database: mysql
    show-sql: true
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        #方言
        dialect: org.hibernate.dialect.MySQL5Dialect
# 开启日志
logging:
  level:
    com.pinxixi.goods.mapper: debug

根据自定义的结果集 PageResult

package com.potenza.dong.util;

import java.util.List;

//分页返回类
public class PageResult {
    private Long total;
    private List rows;

    public PageResult() {
    }

    public PageResult(Long total, List rows) {
        this.total = total;
        this.rows = rows;
    }

    public Long getTotal() {
        return total;
    }

    public void setTotal(Long total) {
        this.total = total;
    }

    public List getRows() {
        return rows;
    }

    public void setRows(List rows) {
        this.rows = rows;
    }
}

编写业务接口层

/**
 * 用户业务接口层
 */
public interface IUserInfoService {
    /**
     * 完成文章信息分页
     *
     * @param page 当前页
     * @param size 页数
     * @param searchMap 完成按照文章类型和标题的查询功能
     * @return List<UserInfo>
     */
    public PageResult findDate(Integer page, Integer size, Map searchMap);
}

实现业务接口层

/**
 * 用户业务实现层
 */
@Service
public class UserInfoService implements IUserInfoService {
    @Autowired
    private UserInfoMapper userInfoMapper;
    
    @Override
public PageResult findDate(Integer page, Integer size, Map searchMap) {
    QueryWrapper<UserInfo> userInfoQueryWrapper = new QueryWrapper<>();
    //判断searchMap是否为空
    if (searchMap!=null){
        //where articleTypeList=articleTypeList  eq
        if (searchMap.get("userName")!=null && !"".equals(searchMap.get("userName"))){
            //where like("%"userName"%")
            userInfoQueryWrapper.lambda().like(UserInfo::getUserName,searchMap.get("userName"));
        }
    }
    Page<UserInfo> userInfoPage = userInfoMapper.selectPage(new Page<>(page, size), userInfoQueryWrapper);
    PageResult pageResult = new PageResult(userInfoPage.getTotal(), userInfoPage.getRecords());
    return pageResult;
}
}

控制层实现

/**
 * 控制层
 */
@RestController
@RequestMapping("/userinfo")
@CrossOrigin
public class UserInfoRestController {

    @Autowired
    private UserInfoService userInfoService;
       /**
     * 完成用户信息分页模糊
     *
     * @param page 当前页
     * @param size 页数
     * @param searchMap 完成按照用户的用户名查询功能
     * @return PageResult<UserInfo>
     */
    @PostMapping("/findData/{page}/{size}")
    public PageResult findDate(@PathVariable Integer page, @PathVariable Integer size,@RequestBody Map searchMap){
        return userInfoService.findDate(page, size, searchMap);
    } 
}

postman工具测试
在这里插入图片描述

最后

以上就是彩色时光为你收集整理的springMvc+mybatisPlus的lambdaQueryWrapper的模糊分页查询的全部内容,希望文章能够帮你解决springMvc+mybatisPlus的lambdaQueryWrapper的模糊分页查询所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部