Mybatis-plus实现分页以及模糊查询

前言

以前用mybatis实现分页查询以及模糊查询结合的功能,需要写mapper文件或者一些SQL语句,利用MybatisPlus可以快速的实现此类功能

案例

实现区域信息的分页以及模糊查询

请求 说明
请求方式 GET
请求路径 /area/paging/{currentPage}
请求参数 currntPage、size、areaInfo

areaInfo是区域类

代码

areaInfo

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class AreaInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 区域ID
     */
    @TableId(value = "area_id", type = IdType.AUTO)
    private Integer areaId;

    private String build;

    private String floor;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")
    private LocalDateTime updateTime;


}

AreaInfoController 接口

package com.zzuli.controller;


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zzuli.common.lang.Result;
import com.zzuli.entity.AreaInfo;
import com.zzuli.service.AreaInfoService;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.awt.geom.Area;
import java.util.List;

/**
 * 

* 区域信息表 前端控制器 *

*/
@RestController @RequestMapping("/area") @CrossOrigin(origins = "*", maxAge = 3600) public class AreaInfoController { @Autowired private AreaInfoService areaInfoService; // 分页 @GetMapping("/paging/{currentPage}") public Result paging(@PathVariable("currentPage") Integer currntPage, @RequestParam(required = false, defaultValue = "1")Integer size, AreaInfo areaInfo) { Page<AreaInfo> page = new Page<>(currntPage, size); LambdaQueryWrapper<AreaInfo> wrapper = new LambdaQueryWrapper<>(); wrapper.like(StringUtils.isNotBlank(areaInfo.getBuild()), AreaInfo::getBuild, areaInfo.getBuild()); // 2.2 指定排序规则,按照更新时间倒序 wrapper.orderByDesc(AreaInfo::getAreaId); areaInfoService.page(page,wrapper); return Result.succ(page); } }

效果

Mybatis-plus实现分页以及模糊查询_第1张图片

你可能感兴趣的:(mybatis,java,spring)