oracle模糊查询有2种写法:
方法一:
select * from t_user where username like ‘%’|| #{username} || ‘%’
方法二:
select * from t_user where username like concat(concat(’%’,#{username}),’%’)
我在项目中查询全部分页时正常显示分页,当我使用模糊查询时就出问题了,sql语句使用的是方法一的写法,我单元测试也是没有问题,查询的结果是正常的,一旦配合PageHelper.startPage(pageIndex, pageSize)就出问题,没有正常显示值,显示的结果是pageSize的值,而page.getTotal()是正常值,page.getList()不是预期值,有问题,
经过我的不断排查,后面才发现,PageHelper.startPage()不支持方法一的写法,我就改成了方法二的写法,就没有问题了。
据说分页插件有许多bug。这是我使用分页插件踩过的最大的坑,sql语句没有问题,问题却出在分页插件不支持这种写法,贼头疼。