错误描述
今天在启动项目的时候 项目正常启动,采用psotman 调用接口的时候报错
Result Maps collection does not contain value for com.ytkj.ams.pojo.SysUserByStatus
经过排查后发现由于采用的是 resultType
select 经过查询之后的结果参数和SysUserByStatus中的参数名称不一样导致不能接收参数报错
resultType 和resultMap的区别
resultType 要求查询出来的字段名和参数名要完全一样
select 语句:
select `status` as statusName,count(*) as statusNums from sys_user
modlel
@Data
public class SysUserByStatus {
private String statusName;
private Integer statusNums;
}
resultMap 则是在.xml文件做了一步转换 如下面所示
<resultMap id="BaseResultMap" type="com.ytkj.ams.pojo.SysUser">
<id column="id" property="id" jdbcType="INTEGER" />
<result column="company_id" property="companyId" jdbcType="INTEGER" />
<result column="username" property="username" jdbcType="VARCHAR" />
<result column="password" property="password" jdbcType="VARCHAR" />
<result column="real_name" property="realName" jdbcType="VARCHAR" />
<result column="telephone" property="telephone" jdbcType="VARCHAR" />
<result column="status" property="status" jdbcType="INTEGER" />
</resultMap>