mybatis多表查询时遇到的一个wen'ti

图片说明

    <resultMap id="findRecordMap" type="com.dgut.chenziqin.domain.Record">
        <id column="rid" property="rId"></id>
        <result column="rtime" property="rTime"></result>
        <association property="student" javaType="com.dgut.chenziqin.domain.Student">
            <id column="sid" property="sId"></id>
            <result column="snum" property="sNum"></result>
            <result column="sname" property="sName"></result>
            <result column="sage" property="sAge"></result>
            <result column="sex" property="sex"></result>
        </association>
        <association property="course" javaType="com.dgut.chenziqin.domain.Course">
            <id column="cid" property="cId"></id>
            <result column="cname" property="cName"></result>
            <result column="cbook" property="cBook"></result>
            <result column="ctime" property="cTime"></result>
        </association>
    </resultMap>

public class Student {
    private int sId;
    public String sNum;
    public String sName;
    private int sAge;
    private int sex;

数据库这个字段是varchar 为什么还会报这个错?

报的错误已经说得很清楚了,你的sql返回的列中找不到名为snum的列,就是你查出的结果中没有snum,检查一下数据库字段是否叫snum

result中都加上jdbcType试试,如

  <result column="snum" property="sNum">改成
  <result column="snum" property="sNum" jdbcType="VARCHAR">