首页 > 其他分享 >后端实现查询分页PageHelper.startPage()

后端实现查询分页PageHelper.startPage()

时间:2024-04-08 10:13:36浏览次数:18  
标签:status String param PageHelper startPage phoneNumber endTime createTime 分页

 

 

这是一个多条件查询,当查询时给出条件,则按条件查询符合条件的所有数据;不给条件时,则查询全部。

  mapper层:

    /** 部门查询全部 条件:登录名称、手机号、状态、时间区间 */
    List<XzUser> selectAll(@Param("userName") String userName, @Param("phoneNumber") String phoneNumber, @Param("status") String status, @Param("createTime") String createTime, @Param("endTime") String endTime);

  sql:

    <sql id="xzUser">
        user_id, dept_id, user_name, nick_name, user_type, email, sex, avatar, password,
            status, del_flag, login_ip, login_date,  phonenumber, create_by, create_time,
            update_by, update_time, remark
    </sql>
    <resultMap id="xzUser" type="com.ruoyi.xinzhi.model.pojo.XzUser">
        <id property="userId" column="user_id"></id>
        <id property="deptId" column="dept_id"></id>
        <id property="userName" column="user_name"></id>
        <id property="nickName" column="nick_name"></id>
        <id property="userType" column="user_type"></id>
        <id property="email" column="email"></id>
        <id property="sex" column="sex"></id>
        <id property="avatar" column="avatar"></id>
        <id property="password" column="password"></id>
        <id property="status" column="status"></id>
        <id property="delFlag" column="del_flag"></id>
        <id property="loginIp" column="login_ip"></id>
        <id property="loginDate" column="login_date"></id>
        <id property="phoneNumber" column="phonenumber"></id>
        <id property="createBy" column="create_by"></id>
        <id property="createTime" column="create_time"></id>
        <id property="updateBy" column="update_by"></id>
        <id property="updateTime" column="update_time"></id>
        <id property="remark" column="remark"></id>
    </resultMap>
    <!-- 部门查询全部 条件:登录名称、手机号、状态、时间区间 -->
    <select id="selectAll" resultMap="xzUser">
        select <include refid="xzUser"/> from xz_user
        <where>
        <if test="userName != null and userName != ''">
            and user_name like concat('%', #{userName}, '%')
        </if>
        <if test="phoneNumber != null and phoneNumber != ''">
            and phonenumber like concat('%', #{phoneNumber}, '%')
        </if>
        <if test="status != null and status != ''">
            and (
            (#{status} = '0' and status = '0')
            or
            (#{status} = '1' and status = '1')
            )
        </if>
        <if test="createTime != null">
            and create_time between #{createTime} and #{endTime}
        </if>
        </where>
    </select>

  service层:

    /** 部门查询全部 条件:登录名称、手机号、状态、时间区间  */
    AjaxResult selectAll(String userName, String phoneNumber, String status, String createTime, String endTime,Integer pageNum, Integer pageSize);

  impl实现类:  

  使用 PageHelper.startPage(pageNum, pageSize);   作为参,pageNum:起始页;pageSize:煤业显示数据几条;
    /**
     * 部门查询全部 条件:登录名称、手机号、状态、时间区间
     * @param userName 登录名称
     * @param phoneNumber 手机号
     * @param status 0与1状态
     * @param createTime 创建时间
     * @param endTime 取件时间末
     * @return 实体类对象
     */
    @Override
    public AjaxResult selectAll(String userName, String phoneNumber, String status, String createTime, String endTime, Integer pageNum, Integer pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        List<XzUser> selected = xzUserMapper.selectAll(userName, phoneNumber, status, createTime, endTime);
        if (selected.isEmpty()) {
            return AjaxResult.error("无符合此条件的数据");
        }else {
            return AjaxResult.success(selected);
        }
    }

  controller层:

    /**
     * 部门查询全部 条件:登录名称、手机号、状态、时间区间
     * @param userName 登录名称
     * @param phoneNumber 手机号
     * @param status 0与1状态
     * @param createTime 创建时间
     * @param endTime 取件时间末
     * @return 实体类对象
     */
    @GetMapping("/all")
    public AjaxResult selectAll(String userName, String phoneNumber, String status, String createTime, String endTime, Integer pageNum, Integer pageSize) {
        AjaxResult selected = iXzUserService.selectAll(userName, phoneNumber, status, createTime, endTime, pageNum, pageSize);
        return AjaxResult.success(selected);
    }

  

  查询:

  

 

标签:status,String,param,PageHelper,startPage,phoneNumber,endTime,createTime,分页
From: https://www.cnblogs.com/warmNest-llb/p/18120512

相关文章

  • 操作系统综合题之“分页存储系统,逻辑地址格式 和 页表多少项 和 每项多少位 和 物理空
    一、问题:某系统采用基本分页存储管理策略,拥有逻辑地址空间32页,每页2K,拥有物理地址空间1M。要求1.请写出逻辑地址2.若不考虑访问权限,且页号不放入页表中,请问进程的页表有多少项?每项至少有多少位?3.如果物理空间减少一半,页表结构应做怎么样的改变? 二、参考答案1. 2.进程的......
  • sql server 分页语句OFFSET 和 FETCH NEXT 怎样使用?
    原文链接:https://blog.csdn.net/weixin_45659376/article/details/107336143在SqlServer2012之前,实现分页主要是使用ROW_NUMBER(),在SQLServer2012,可以使用Offset...RowsFetchNext...Rowsonly的方式去实现分页数据查询。在OrderBy子句中新增Offset-Fetch子句,用于从有......
  • MybatisPlus分页插件的使用
    目录......
  • WPF开发分页控件:实现可定制化分页功能及实现原理解析
    概要本文将详细介绍如何使用WPF(WindowsPresentationFoundation)开发一个分页控件,并深入解析其实现原理。我们将通过使用XAML和C#代码相结合的方式构建分页控件,并确保它具有高度的可定制性,以便在不同的应用场景中满足各种需求。一.简介分页控件是在许多应用程序中常见......
  • 使用QuerryMapper条件查询器进行分页模糊查询,当想要渲染的数据需要两张表的字段该如何
    假如我们想要拿到新闻表的所有数据和发布新闻的用户名称的数据1.创建两张表,其中新闻表的authorId引用用户表的外键id,(这是一张新闻表)(这是一张用户表)author不在这个数据库表中,使用@TableField(exist=false)这个注解,表示这个字段不在新闻表里,用于业务处理。2.拿到分页......
  • 进程调度-死锁-存储管理-固定分页分段
    进程调度进程调度方式是指当有更高优先级的进程到来时如何分配CPU。分为可剥夺和不可剥夺两种,可剥夺指当有更高优先级进程到来时,强行将正在运行进程的CPU分配给高优先级进程;不可剥夺是指高优先级进程必须等待当前进程自动释放CPU。在某些操作系统中,一个作业从提交到完成需要经......
  • 文章列表(条件分页+动态sql)2021-4-1
    //controller@GetMappingpublicResult<PageBean<Article>>list(IntegerpageNum,IntegerpageSize,@RequestParam(required=false)IntegercategoryId,@RequestParam(required=false)Strings......
  • 分页
    分页使用ActiveDataProvider和GridViewcontrollerpublicfunctionactionIndex(){$dataProvider=newActiveDataProvider(['query'=>ArticleClass::find(),'pagination'=>['pages......
  • yii2-分页
    yii2-分页使用ActiveDataProvider和GridViewcontrollerpublicfunctionactionIndex(){$dataProvider=newActiveDataProvider(['query'=>ArticleClass::find(),'pagination'=>['......
  • 在使用PageHelper插件进行分页查询时,为什么在Postman进行后端测试时返回的data中对应
    注意:在使用PageHelper插件进行分页查询,由Postman进行后端测试时,需要根据返回的total(查询的总记录数)和测试设置的pageSize(每页记录条数)来设置page(查询页码)的值,否则后端测试返回的data中对应的rows可能为空。理由如下:假设此时是这样一个查询情景:通过动态SQL进行条件查询,......