【采坑】mybatis分页同时获取总记录数,报错java.sql.SQLException: Column 'count' not found.

我的xml代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.homework.dao.ClassMapper">
    <resultMap id="classList" type="com.homework.entity.ClassEntity">
        <id property="id" column="id"/>
        <result column="class_title" property="title"/>
        <result column="tch_id" property="tchId"/>
        <result column="tch_name" property="tchName"/>
    </resultMap>
    <resultMap id="classCount" type="java.lang.Integer">
        <result column="count"/>
    </resultMap>
    <!-- 注意此处resultMap的顺序 -->
    <!--<select id="getList" resultMap="classCount,classList">-->
    <select id="getList" resultMap="classList,classCount">
        SELECT SQL_CALC_FOUND_ROWS id,class_title,tch_id,tch_name FROM class WHERE class_title LIKE
        CONCAT('%',#{keyword},'%') LIMIT #{pagesize} OFFSET #{pagenum};
        SELECT FOUND_ROWS() AS count;
    </select>
</mapper>

由于要实现分页查询的同时获取记录条数,因此有两个select语句,两个语句有先后顺序,因此<select>标签中的resultMap属性的顺序也要注意,如果顺序颠倒了(例如注释掉的语句)就报了这个错误

猜你喜欢

转载自blog.csdn.net/weixin_41786574/article/details/104693813