发现问题
相信很多小伙伴在刚开始学习学项目的时候,增删改查一定没少写,可能有的是自己手动写的分页查询,不过肯定也有很多小伙伴采用的是分页查询的插件,比如说pagehelper这个插件,一般来说这个插件用起来也比较简单直接,也很好用基本上用过一次就不会有什么容易错的地方,在今天练习些项目的时候发现了一个有趣的问题,当然也怪自己经验不足的的原因,才会遇见这个小问题。
刚开始我是这样写的,我并没有发现是这里的问题,还在其他地方找了很久,一直没有发现,但是debug发现分页的数据是传到后端来的,就是前端的分页始终没有实现,错误也没有报,感觉没有什么办法了,感觉就想着随便试一下,把代码顺序改了一下像下面这样
突然就好了这下终于解决了这个问题。
问题分析
这段代码的作用是在查询职位信息之前,根据当前用户的角色来设置查询条件。如果用户的角色是雇主(RoleEnum.EMPLOY.name()),则将该用户的ID设置为职位的所有者ID,从而只查询该用户发布的职位信息。 关于分页效果消失的问题,可能的原因有以下几点: 查询条件影响了分页结果:在设置查询条件后,可能只有一部分数据满足条件,导致分页后的数据为空或者分页信息不正确。 查询逻辑改变:在添加条件后,查询逻辑发生了变化,可能导致没有数据被查询到,因此分页也就没有效果了。 PageHelper 的使用:确保 PageHelper.startPage(pageNum, pageSize); 在查询逻辑修改前调用,并且在同一个SQL查询中生效。
经验总结
检查查询条件:确认在设置了 employId 后,数据库中是否有符合条件的数据。 日志输出:在查询前后打印一些日志信息,比如查询条件、返回的结果数量等,帮助定位问题。 简化查询逻辑:尝试先去掉条件设置的部分,确认分页功能是否正常工作,然后再逐步加入条件判断,观察具体在哪一步出现了问题。