总结一下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>