//在xml文件中如下sql
select * from student where name = #{name} order by age = #{age} desc;
这种情况会报 Parameter index out of range (2 > number of parameters, which is 1) 。
查看报错是因为Mybatis分页插件的查询总数sql会把order by 优化掉如下代码
select COUNT(1) from student where name = #{name}
这就导致本来传进来两个参数但是只使用了一个就会报 Parameter index out of range。
解决办法
//在代码中传入page之前把Mybatis分页插件的自动优化关掉
Page<UmsPerson> page = new Page<>(pageNum,pageSize);
page.setOptimizeCountSql(false);
studentMapper.getList(page,name,age);