錯誤信息如下:
HTTP Status 500 - org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: type Exception report message org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: description The server encountered an internal error that prevented it from fulfilling this request. exception java.lang.RuntimeException: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.reflect.UndeclaredThrowableException ### The error may exist in class path resource [mybatis/mapper/SysTradeTradeMapper.xml] ### The error may involve com.zito.b2c.order.mapper.SysTradeTradeMapper.getOperatingSituation-Inline ### The error occurred while setting parameters ### Cause: java.lang.reflect.UndeclaredThrowableException
### Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
通過查看錯誤信息,可以發現"The error occurred while setting parameters",錯誤是參數傳入的時候出的錯。
Mapper接口方法如下:
public Map<String,String> queryOrder(@Param("shopId") int shopId, @Param("shopName") String shopName);
Mapper.xml中方法的配置:
<select id="queryOrder" parameterType="String" resultType="java.util.Map"> </select>
因為傳入的參數既有Sting又有int,而我們在xml中配置的傳入參數類型只有Sting,所以會報傳入參數類型不匹配。
再由對個參數傳入,並且傳入參數的類型不一致時,可以去掉 parameterType