springboot mybatis pagehelper不生效

基本上是版本问题

springboot3.0.4 +pagehelper-starter1.4.6可以

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
 <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.1</version>
        </dependency>
  
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.4.6</version>
        </dependency>

 

  @GetMapping("/pageQuery")
    public Result page(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer pageSize) {
        PageHelper.startPage(page,pageSize);
        Page<Emp> emps = empMapper.queryByPageHelper();
        return Result.success(emps);
    }

或者物理分页

 @GetMapping("/emps")
    Result queryByPage(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer pageSize,
                       String name, Integer gender, String begin, String end) {
        //前端请求""报错
        if ("".equals(name)) {
            name = null;
        }
        if ("".equals(begin)) {
            begin = null;
        }
        if ("".equals(end)) {
            end = null;
        }
        //在分页展示之前要先统计条件查询记录数
        log.error("查询员工成功");
        log.debug("debug查询员工");
        log.info("info查询员工");
        PagePojo pages = empService.queryByPage(page, pageSize, name, gender, begin, end);
//       pages.setRows(list);
        return Result.success(pages);
    }

service

    @Autowired
    private EmpMapper empMapper;

    @Override
    public PagePojo queryByPage(Integer page, Integer pageSize, String name, Integer gender, String begin, String end) {
        //String name, Integer gender, String begin, String end这4个参数为条件查询,姓名性别和日期开始结束查询
        Integer total = empMapper.count(name, gender, begin, end);
        log.info("page,pagesize,{},{}", page, pageSize);
        Integer start = (page - 1) * pageSize;
        List<Emp> rows = empMapper.queryByPage(start, pageSize, name, gender, begin, end);
//        empMapper.queryCondition(name,gender,begin,end);
        PagePojo pagePojo = new PagePojo();
        pagePojo.setTotal(total);
        pagePojo.setRows(rows);
        return pagePojo;
    }

mapper

  <select id="queryCondition" resultType="com.sunshine.manager.pojo.Emp">
        select id,username,password,name,gender,image,job,entrydate,dept_id,create_time,update_time
        from emp
        <where>
            <if test="name!=null">name like CONCAT('%','#{name}','%')</if>
            <if test="gender!=null"> and gender=#{gender} </if>
            <if test="begin!=null">and between begin=#{begin} and end=#{end}</if>
        </where>
#         queryCondition公共查询抽取
    </select>
    <select id="queryByPage" resultType="com.sunshine.manager.pojo.Emp">
        <include refid="queryCondition"/>
                     limit #{start},#{pageSize}

    </select>

 

posted @ 2023-05-14 21:01  myWang  阅读(405)  评论(0)    收藏  举报