vlambda博客
学习文章列表

mybatis mysql int 作为返参接受值 返回结果为null 会报错么

喜欢就价格关注吧,持续分享

前言:

mybatis和mysql 是平时在java项目中经常用到的。今天带大家看一个平时不留意的错误。如果在 mapper中用 int 来接收 数据统计的sql。查不到返回null 会报错么?


不知道的请看下文


答案是会报错的。


错误信息

org.apache.ibatis.binding.BindingException: Mapper method 'com.*******Mapper.countByExample attempted to return null from a method with a primitive return type (int).

报错原因

mapper.xml文件中配置了select返回值为int,但实际的sql查询结果为null (问题出在mapper.xml的情况)

解决方案

mapper.java中接口方法的返回值由 int 改为 Integer。 Integer 为int的包装类。可以接收为 null 的返回值。