总结一下mybatis返回结果为空

今天写mybatis的时候遇到了返回结果为空的现象,找了半天,决定记录一下

1.可能是字段的问题

数据库中的字段:user_name,user_id;

java中的实体类:userName,userId;

可以将实体类改为user_name,user_id;

2.resultMap里面的问题

比如说我这段代码里面的r.id,r.name,m.id,m.name重新命名了,那么我么在resultMap里面的column的值一定要和select里面的重命名以后的名字保持一致,不然输出结果就会为空。

<resultMap id="myselfMap" type="com.buka.edu.bean.Role">
    <id column="rid" jdbcType="INTEGER" property="id" />
    <result column="rname" jdbcType="VARCHAR" property="name" />
    <collection property="module" javaType="com.buka.edu.bean.Module">
      <id column="mid" property="id"/>
      <result column="mname" property="name"></result>
    </collection>
  </resultMap>
<sql id="Base_Role">
r.id rid,r.name rname,m.id mid,m.name mname
  </sql>
  <select id="selectRoleAndModule" resultMap="myselfMap" parameterType="com.buka.edu.bean.Role">
    select
    <include refid="Base_Role"/>
    from role r join rm r2 on r2.rid=r.id join module m on m.id=r2.mid
  </select>