Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Mapper method 'com.guang.mapper.DrugMapper.selectlikeCount attempted to return null from a method with a primitive return type (int).
时间: 2024-04-10 10:34:26 浏览: 209
这个错误是由于 MyBatis 映射文件中的一个方法返回了空值(null),但是方法的返回类型是原始数据类型(primitive type)int,而原始数据类型不能接受空值。解决这个问题的方法是将方法的返回类型改为包装类类型(wrapper class),如Integer。这样就可以接受空值了。你可以修改 `com.guang.mapper.DrugMapper` 中的 `selectlikeCount` 方法的返回类型为 Integer。例如:
```java
public Integer selectlikeCount() {
// your code here
// ...
}
```
这样修改后,如果查询结果为空,就会返回一个空的 Integer 对象,而不是 null。
相关问题
Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
这个错误提示表明在处理请求时出现了问题,具体原因是绑定的语句无效,即找不到对应的语句。这通常是由于MyBatis配置文件中的语句ID与Mapper接口中的方法名不匹配所导致的。可以检查一下Mapper接口中的方法名是否与配置文件中的语句ID一致。如果还是无法解决问题,可以考虑检查一下Mapper接口和XML文件的路径是否正确,或者检查一下是否有其他错误导致了这个问题的出现。
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'criterion' not found. Available parameters are [ids, param1]] with root cause org.apache.ibatis.binding.BindingException: Parameter 'criterion' not found. Available parameters are [ids, param1]
这个异常一般是由于 MyBatis 框架中的 SQL 语句与对应的参数不匹配所引起的。根据异常信息,您的 SQL 语句中不存在名为 'criterion' 的参数,而只有 'ids' 和 'param1' 两个可用参数。
您可以检查一下您的 SQL 语句是否正确,是否存在拼写错误或者参数名称错误等问题。同时,还需要检查一下您的 Java 代码中是否正确设置了 SQL 语句中需要的参数。
如果您使用的是 MyBatis Generator 自动生成的代码,那么可以检查一下对应的 XML 文件是否正确生成,以及是否正确生成了对应的 Java 实体类。如果您手动编写了 SQL 语句和对应的 Java 代码,那么可以检查一下是否存在语法错误或者其他错误。
希望这些信息可以帮助您解决问题。如果还有其他问题,请随时提出。
阅读全文