mybatis 报错Result Maps collection does not contain value for java.lang.Integer

周末加班写bug 2017-12-07 05:09:27
报错
java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.Integer


<select id="selectByNickname" resultType="cn.apipa.cloudPhoto.model.User" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from user_info
where nickName = #{nickname,jdbcType=VARCHAR}
</select>
...全文
2363 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Timor_D 2017-12-18
  • 打赏
  • 举报
回复
楼上的应该是对的
changfeng_602 2017-12-09
  • 打赏
  • 举报
回复
把找出来的地方 resultMap换成resultType=“java,lang.Integer”
changfeng_602 2017-12-09
  • 打赏
  • 举报
回复
ctrl+H 查询一下就可以了 找到你写错的地方 改一下
Buguanjia-Ssj 2017-12-08
  • 打赏
  • 举报
回复
能否发一下你mybatis扫描xml的配置
周末加班写bug 2017-12-07
  • 打赏
  • 举报
回复
引用 2 楼 zy1404 的回复:
cn.apipa.cloudPhoto.model.User 这个类 中 查看下 对用数据库 中的 int 映射的java 字段的 值的类型 需要定义为 Integer 而不要声明为 int
实体类都是自动生成的,与数据库int型对应的都是Integer
周末加班写bug 2017-12-07
  • 打赏
  • 举报
回复
引用 1 楼 pany1209 的回复:
java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.Integer xml文件贴全一点,大概是resultMap配置错误
四楼有更详细的xml文件和实体类,帮忙看下。谢谢!!
周末加班写bug 2017-12-07
  • 打赏
  • 举报
回复
@pany1209
映射文件和实体类都是用mybatis-generator自动生成。加备注的查询是我自己写的
这是映射文件,后面还有实体类和报错信息的图片

<?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="cn.apipa.cloudPhoto.dao.UserDao" >
<resultMap id="BaseResultMap" type="cn.apipa.cloudPhoto.model.User" >
<id column="userID" property="userid" jdbcType="INTEGER" />
<result column="nickName" property="nickname" jdbcType="VARCHAR" />
<result column="trueName" property="truename" jdbcType="VARCHAR" />
<result column="passWord" property="password" jdbcType="VARCHAR" />
<result column="phone" property="phone" jdbcType="VARCHAR" />
<result column="Email" property="email" jdbcType="VARCHAR" />
<result column="QQ" property="qq" jdbcType="INTEGER" />
<result column="address" property="address" jdbcType="VARCHAR" />
<result column="role" property="role" jdbcType="SMALLINT" />
<result column="roleDesc" property="roledesc" jdbcType="VARCHAR" />
<result column="praise" property="praise" jdbcType="INTEGER" />
<result column="fans" property="fans" jdbcType="INTEGER" />
<result column="attention" property="attention" jdbcType="INTEGER" />
<result column="registerTime" property="registertime" jdbcType="TIMESTAMP" />
<result column="isVIP" property="isvip" jdbcType="SMALLINT" />
<result column="isDelete" property="isdelete" jdbcType="SMALLINT" />
<result column="isVisibleTrueName" property="isvisibletruename" jdbcType="SMALLINT" />
<result column="isVisibleDescTrueName" property="isvisibledesctruename" jdbcType="VARCHAR" />
<result column="isVisiblePhone" property="isvisiblephone" jdbcType="SMALLINT" />
<result column="isVisibleDescPhone" property="isvisibledescphone" jdbcType="VARCHAR" />
<result column="isVisibleEmail" property="isvisibleemail" jdbcType="SMALLINT" />
<result column="isVisibleDescEmail" property="isvisibledescemail" jdbcType="VARCHAR" />
<result column="rank" property="rank" jdbcType="SMALLINT" />
<result column="rankDesc" property="rankdesc" jdbcType="VARCHAR" />
<result column="deleteTime" property="deletetime" jdbcType="TIMESTAMP" />
<result column="editTime" property="edittime" jdbcType="TIMESTAMP" />
<result column="popularity" property="popularity" jdbcType="INTEGER" />
<result column="experience" property="experience" jdbcType="INTEGER" />
<result column="oneselfInfo" property="oneselfinfo" jdbcType="VARCHAR" />
<result column="remake" property="remake" jdbcType="VARCHAR" />
<result column="image" property="image" jdbcType="VARCHAR" />
<result column="sinaWeiBo" property="sinaweibo" jdbcType="VARCHAR" />
<result column="themeNum" property="themenum" jdbcType="INTEGER" />
<result column="photoNum" property="photonum" jdbcType="INTEGER" />
<result column="friendNum" property="friendnum" jdbcType="INTEGER" />
<result column="reserve01" property="reserve01" jdbcType="VARCHAR" />
<result column="reserve02" property="reserve02" jdbcType="VARCHAR" />
<result column="reserve03" property="reserve03" jdbcType="VARCHAR" />
<result column="reserve04" property="reserve04" jdbcType="VARCHAR" />
<result column="reserve05" property="reserve05" jdbcType="VARCHAR" />
<result column="reserve06" property="reserve06" jdbcType="VARCHAR" />
<result column="reserve07" property="reserve07" jdbcType="VARCHAR" />
<result column="reserve08" property="reserve08" jdbcType="VARCHAR" />
<result column="reserve09" property="reserve09" jdbcType="VARCHAR" />
<result column="reserve10" property="reserve10" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
userID, nickName, trueName, passWord, phone, Email, QQ, address, role, roleDesc,
praise, fans, attention, registerTime, isVIP, isDelete, isVisibleTrueName, isVisibleDescTrueName,
isVisiblePhone, isVisibleDescPhone, isVisibleEmail, isVisibleDescEmail, rank, rankDesc,
deleteTime, editTime, popularity, experience, oneselfInfo, remake, image, sinaWeiBo,
themeNum, photoNum, friendNum, reserve01, reserve02, reserve03, reserve04, reserve05,
reserve06, reserve07, reserve08, reserve09, reserve10
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from user_info
where userID = #{userid,jdbcType=INTEGER}
</select>

<!-- 根据昵称查找用户 -->
<select id="selectByNickname" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from user_info
where nickName = #{nickname,jdbcType=VARCHAR}
</select>

这是实体类

private Integer userid;

private String nickname;

private String truename;

private String password;

private String phone;

private String email;

private Integer qq;

private String address;

private Short role;

private String roledesc;

private Integer praise;

private Integer fans;

private Integer attention;

private Date registertime;

private Short isvip;

private Short isdelete;

private Short isvisibletruename;

private String isvisibledesctruename;

private Short isvisiblephone;

private String isvisibledescphone;

private Short isvisibleemail;

private String isvisibledescemail;

private Short rank;

private String rankdesc;

private Date deletetime;

private Date edittime;

private Integer popularity;

private Integer experience;

private String oneselfinfo;

private String remake;

private String image;

private String sinaweibo;

private Integer themenum;

private Integer photonum;

private Integer friendnum;

这是报错信息


D1208 2017-12-07
  • 打赏
  • 举报
回复
java里面接收用的是User集合吗?看异常,貌似是接收的是Integer
  • 打赏
  • 举报
回复
cn.apipa.cloudPhoto.model.User 这个类 中 查看下 对用数据库 中的 int 映射的java 字段的 值的类型 需要定义为 Integer 而不要声明为 int
李德胜1995 2017-12-07
  • 打赏
  • 举报
回复
java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.Integer xml文件贴全一点,大概是resultMap配置错误

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧