问题描述。
在工作中使用分页查询,对数据进行分页查询并且使用orderline这个字段进行排序,出现数据部分无法被查询出来并且有数据重复查询。主要是因为排序字段不是id主键导致部分数据异常。
解决方案
在order by orderline之后加上主键id排序,具体如下;
<select id="page" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
FROM role
where delete_time =0
<if test="null != name">and `name` like CONCAT (concat('%',#{name}),'%')</if>
<if test="null != departmentId">and city like CONCAT (concat('%',#{department_id}),'%')</if>
order by role.orderline
desc,
role.id
desc
</select>