org.apache.ibatis.binding.BindingException: Mapper method 'wffz.jxmjkh.mapper.JxMjKhTxMapper.batchInsert attempted to return null from a method with a primitive return type (int). at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:93) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59) at com.sun.proxy.$Proxy81.batchInsert(Unknown Source) at wffz.jxmjkh.service.JxMjKhTxService.batchInsert(JxMjKhTxService.java:1149) at wffz.jxmjkh.controller.SaveResultTask.run(SaveResultTask.java:80) at wffz.jxmjkh.controller.JxMjkhTxController.lambda$init$0(JxMjkhTxController.java:54) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
时间: 2023-06-26 20:09:29 浏览: 137
这是 MyBatis 绑定异常,原因是 Mapper 方法 'wffz.jxmjkh.mapper.JxMjKhTxMapper.batchInsert' 尝试返回 null 值,但是该方法有一个原始返回类型(int)。这意味着该方法必须返回一个有效的 int 值,但它返回了 null。要解决此问题,您需要在该方法中添加一个返回 int 值的语句,以确保该方法始终返回一个有效的 int 值。
相关问题
org.apache.ibatis.binding.BindingException: Type interface qst.mapper.UserMapper is not known to the MapperRegistry.
引用中提到,出现这种情况的主要原因是主配置文件标签没有正确指向映射接口的配置文件。解决方案可以是检查<mapper>的class属性或resource属性,确保路径和文件名的正确性。在引用中还提到,使用命名参数可以在传递参数时给参数加上注解,示例代码如下所示:
```
public Employee getEmpByIdandName(@Param("id") Integer id, @Param("name") String name);
```
而在引用中,指定参数的方法如下所示:
```
<select id="getEmpByIdandName" resultType="com.qst.mybatis.Employee">
select * from employee where id = #{param1} and name= #{param2}
</select>
```
根据错误信息"org.apache.ibatis.binding.BindingException: Type interface qst.mapper.UserMapper is not known to the MapperRegistry.",请检查以下几个方面:
1. 确保UserMapper接口的包路径和文件名正确。
2. 确保主配置文件中的<mapper>标签中的class属性或resource属性引用了正确的UserMapper接口配置文件。
3. 确保UserMapper接口中的方法名和映射文件中的sql语句id一致。
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): Mapper.getAllList
这个异常信息表明在MyBatis中找不到名为Mapper.getAllList的语句。这可能是由于以下原因导致的:
1. Mapper.xml文件中没有定义id为getAllList的语句。
2. Mapper.xml文件中定义了id为getAllList的语句,但是在Mapper接口中没有对应的方法。
3. Mapper接口中定义了名为getAllList的方法,但是方法名和Mapper.xml文件中定义的id不一致。
解决方法:
1. 检查Mapper.xml文件中是否定义了id为getAllList的语句。
2. 检查Mapper接口中是否定义了名为getAllList的方法。
3. 确保Mapper接口中定义的方法名和Mapper.xml文件中定义的id一致。
以下是一个可能的解决方案:
在Mapper.xml文件中添加id为getAllList的语句:
```xml
<select id="getAllList" resultType="com.example.demo.entity.User">
select * from user
</select>
```
在Mapper接口中添加名为getAllList的方法:
```java
public interface UserMapper {
List<User> getAllList();
}
```
阅读全文