SpringBoot Result Maps collection does not contain value for xxxx.int 的解决

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011267841/article/details/83145241

在Mybatis中,返回的类型写成resultMap="int",例如

  <select id="getMessageTimes" resultMap="int" parameterType="com.bojia.fund.bean.Message">
   select count(1) as cconut from smart_message where protocolno=#{protocolno} 
          <![CDATA[ DATE_FORMAT(create_time,'%Y%m%d')= to_date(#{createtime,jdbcType=DATE},'yyyyMMdd')]]>
          and type=#{type} and status=#{status}
   </select>

访问页面就会报错,错误信息如下:

org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.bojia.fund.dao.db1.MessageDao.int
	at org.apache.ibatis.builder.MapperBuilderAssistant.getStatementResultMaps(MapperBuilderAssistant.java:346)
	at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:290)
	at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:109)
	at org.apache.ibatis.session.Configuration.buildAllStatements(Configuration.java:788)
	at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:758)
	at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:753)
	at org.apache.ibatis.binding.MapperMethod$SqlCommand.resolveMappedStatement(MapperMethod.java:247)
	at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:217)
	at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:48)
	at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)
	at com.sun.proxy.$Proxy75.findMobilePhoneBytradeacco(Unknown Source)

现在写成

 <select id="getMessageTimes" resultType="java.lang.Integer" parameterType="com.bojia.fund.bean.Message">
   select count(1) as cconut from smart_message where protocolno=#{protocolno} 
          <![CDATA[ DATE_FORMAT(create_time,'%Y%m%d')= to_date(#{createtime,jdbcType=DATE},'yyyyMMdd')]]>
          and type=#{type} and status=#{status}
   </select>
  

或者写成

resultType="int"

就不会报错了

猜你喜欢

转载自blog.csdn.net/u011267841/article/details/83145241