springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能

网友投稿 879 2022-10-28

springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能

springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能

完整案例:

SpringBoot + laypage分页 + 模糊查询 完整案例

下面在通过实例代码介绍下springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能,内容如下所示:

调用接口Controller类

@ApiOperation("查询列表")

@PostMapping("/selectList")

public Result selectList(@RequestBody User_InfoListRequest userInfo ) {

Page page = PageHelper.startPage(userInfo.pageNum,userInfo.pageSize); //这行是重点(放在方法第一行)表示从pageNum页开始,每页pageSize条数据

List _list= userService.selectList(userInfo);//返回集合和分页之前不要有其它http://代码,这两行上下要紧靠近

PageInfo pageInfo = new PageInfo<>(_list);

return Result.SUCCESS( pageInfo);

}

package com.xj.demo.model.Request;

import com.fasterxml.jackson.annotation.jsonProperty;

import io.swagger.annotations.ApiModelProperty;

public class User_InfoListRequest extends PageRequest {

@ApiModelProperty(value = "学生姓名")

public String uname;

@ApiModelProperty(value = "学生年龄")

public int uage;

}

import lombok.Data;

/**

* 分页请求request基类

*/

@Data

public class PageRequest {

@ApiModelProperty(value = "当前页码")

public Integer pageNum;

@ApiModelProperty(value = "分页大小")

public Integer pageSize;

定义接口,注意红色显示部分

package com.xj.demo.mapper;

import com.github.pagehelper.Page;

import com.xj.demo.model.Request.UserEditRequest;

import com.xj.demo.model.Request.User_InfoListRequest;

import com.xj.demo.model.Response.UserInfoResponse;

import com.xj.demo.model.entity.User_info;

import org.apache.ibatis.annotations.Mapper;

import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper

public interface User_infoMapper {

// 查询列表

List selectList(@Param("userInfo") User_InfoListRequest uhttp://serInfo);

}

实现接口service

package com.xj.demo.service;

import com.github.pagehelper.Page;

import com.xj.demo.mapper.User_infoMapper;

import com.xj.demo.model.Request.UserEditRequest;

import com.xj.demo.model.Request.User_InfoListRequest;

import com.xj.demo.model.Response.UserInfoResponse;

import com.xj.demo.model.entity.User_info;

import org.apache.ibatis.annotations.Param;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import java.util.List;

@Service

public class User_infoService implements User_infoMapper {

@Autowired

private User_infoMapper uMapper;

@Override

public List selectList(User_InfoListRequest userInfo) {

return uMapper.selectList(userInfo);

}

}

mapper中sql语句uname进行模糊查询和年龄完全匹配

select * from User_info where 1=1

and uname like '%' #{userInfo.uname} '%'

http://

and uage = #{userInfo.uage}

order by create_time desc

使用postman进行接口测试

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:bashmanager - 迷你bash框架用于创建命令行工具
下一篇:Dragonfly:强大且方便扩展的语音识别框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~