1. 程式人生 > >SpringBoot Result Maps collection does not contain value for xxxx.int 的解決

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

在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"

就不會報錯了