Mybatis中selectOne方法存在的坑 空指针异常
来源:互联网 发布:夏老师c语言百度云资源 编辑:程序博客网 时间:2024/05/29 09:32
Mybatis中selectOne方法存在的坑
开门见上,先来看看selectOne方法的源代码
通过源码我们清晰的看到,selectOne调用了selectList方法,当selectList方法返回值的size小于1 的时候,selectOne方法会返回null值。我们再来看一下mybatis的xml.
如果你写了resultType为Integer,然后在业务代码中很自然的用一个变量int去接当前这个方法的返回值:
int id = dao.methodName(param);如果按照你传入的条件在数据库中没有找到相关的值,此时selectOne方法的返回值会是一个null,当你使用Java的自动拆箱机制的时候会报出一个无情的NPE。
原因:Java在自动拆箱的时候会调用Integer类中的intValue方法,如果当前对象为null,则抛出NPE。
所以我们在使用mybatis的这个selectOne方法的时候一定要多加小心。不要踩到坑里。
怎么破: 用一个Integer去接一次返回值,然后判断是否为空,然后再进行具体的业务逻辑处理。但是!但是!但是!如果把resultType写成int,呵呵,恐怕无解了。
0 0
- Mybatis中selectOne方法存在的坑 空指针异常
- Mybatis中selectOne的空指针异常
- 并行计算中存在的空指针
- 解决URLConnection空指针异常的方法
- Mybatis框架通用Dao中getSqlSession().selectOne()的应用
- android 中遇到的空指针异常
- mybatis一直报空指针异常
- 【Android开发经验】低版本中PopupWindow的init方法空指针异常的问题
- MyBatis中selectOne和selectList比较
- struts2的Action中调用DAO方法时报空指针异常 解决办法
- Java中equals方法造成空指针异常的原因及解决方案
- 写错equals方法引起的空指针异常
- SpringDateJpa使用JpaRepository方法出现空指针异常的问题
- List的add方法报空指针异常
- 关于android api的 getLayoutParams()方法报空指针异常!
- 调用String对象的toString()方法时报空指针异常
- servlet的init()方法抛出空指针异常
- 空指针异常的解决
- T001-UT001-0008
- Android Fresco图片处理库用法API英文原文文档2-1(Facebook开源Android图片库)
- Linux线程属性、线程局部变量总结
- 黑马程序员-----集合
- 去哪儿实习面经(拿到offer)
- Mybatis中selectOne方法存在的坑 空指针异常
- 添加BSP到PB5
- T001-UT001-0009
- 在Eclipse中使用JUnit4进行单元测试(中级篇)
- PHP 为什么要使用命名空间,命名空间的作用是什么,如何更好的使用命名空间【详解】
- HttpClient的使用
- window做网关搭建局域网的若干问题
- ssh框架搭建出现java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap问题
- ios git 的一些指令