mybatisplus的分页插件和条件构造器自定义SQL遇到的BUG
代码
Page<ScoreRecordListVO> getScoreRecordPages( @Param(Constants.WRAPPER) QueryWrapper<ScoreRecord> qw,@Param("pages") Page<ScoreRecordListVO> pages);
问题
当使用@Param("page")或其他时,会失效…
经过多方尝试,只能使用@Param("pages")
完整代码
- Mapper文件
package evan.lijun.xscj.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Repository
public interface ScoreRecordMapper extends BaseMapper<ScoreRecord> {
Page<ScoreRecordListVO> getScoreRecordPages( @Param(Constants.WRAPPER) QueryWrapper<ScoreRecord> qw,@Param("pages") Page<ScoreRecordListVO> pages);
}
- 自定义SQL
<select id="getScoreRecordPages" resultType="evan.lijun.xscj.pojo.vo.ScoreRecordListVO">
SELECT <include refid="getScoreRecordPagesSelect"></include> FROM score_record record
LEFT JOIN student ON record.student_id = student.id -- 关联student表
LEFT JOIN class_and_grade teams ON record.team_id = teams.id -- 关联class_and_grade表
LEFT JOIN course ON record.course_id = course.id -- 关联course表
${ew.customSqlSegment}
</select>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

