MyBatis-Exception:org.apache.ibatis.exceptions.PersistenceException

错误信息如下:

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   

 

posted @ 2016-11-22 14:02  lashou  阅读(29012)  评论(0编辑  收藏  举报