锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

记录第N次SQL异常

时间:2022-11-24 10:30:00 66zknr6电连接器

文章目录

  • 记录第N次SQL异常
        • Mapper接口的写法
        • Service接口写法
        • ServiceImpl实现类写法
        • 修改后Mapper接口的写法
        • 修改后Service接口写法
        • 修改后ServiceImpl实现类写法
        • Integer允许返回的对象类型允许返回值null,成功解决问题。
        • 在高性能MySQL建议尽量为字段设置默认值,尽量不要让字段值空,避免各种相关值null除非有特殊需要,否则异常。
  • 关于实体类的小bug
  • 我的学习论坛

记录第N次SQL异常


最重要的一句话:Mapper method 'com.handsome.dao.BlogMapper.countBlogViews attempted to return null from a method with a primitive return type (int).

期待的值为int类型,返回类型null,对不起,直接GG。为什么要报告这个错误?

Mapper接口的写法

Service接口写法

ServiceImpl实现类写法

期待返回值int基本数据类型,却返回null,因此,导致报错SQL所有应改为对象类型。

修改后Mapper接口的写法

修改后Service接口写法

修改后ServiceImpl实现类写法

Integer允许返回的对象类型允许返回值null,成功解决问题。

在高性能MySQL建议尽量为字段设置默认值,尽量不要让字段值空,避免各种相关值null除非有特殊需要,否则异常。

关于实体类的小bug

如果实体类的属性使用基本数据类型定义,则在数据库中更新,则不会null将值更新到数据库中。int默认定义值 0 ,将更新数据库 0 更新数据库,导致数据统计错误。

应使用实体类int的包装类Integer,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null,更新时,此字段不会更新,以避免bug的出现。

我的学习论坛

HandsomeForum:用Java写学习论坛,打造自己的圈子!(http://huangjunjie.vip:66)
文章链接:http://huangjunjie.vip:66/question/read/ket3qpjghv1yb6mpqc

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章