mybatis-plus IPage 分页多参数查询
莫名的异常
1.Mapper
IPage<Entity> findByDataStatus(@Param(“dataStatus”) String dataStatus, Page<Entity> page );
2.Mapper.xml
<select id="findByDataStatus" resultType="com.xxx.Entity" parameterType="com.xxx.Entity">
select
<include refid="invalid"/>
from EMPI_INVALID
where
DATA_STATUS = #{dataStatus}
</select>
3. TooManyResultsException
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 10
问题解决
mybatis-plus 中page参数不在第一个位置,返回的结果集接收对象不被认为是一个集合,而放在第一位就没有问题。所以正确的写法是
IPage<Entity> findByDataStatus(Page<Entity> page, @Param(“dataStatus”) String dataStatus);