mybatis中mapper配置resultType使用包装类的原因
原因看一下Sqlsession中selectOne源码就知道了:
这个方法会去调用selectList,很简单的,如果得到0条则返回null,得到1条则返回1条,得到多条报TooManyResultsException错
特别需要注意的是当没有查询到结果的时候就会返回null。因此一般建议在mapper中编写resultType的时候使用包装类型,而不是基本类型,比如推荐使用Integer而不是int。这样就可以避免NPE
但是有某些特殊情况,可以直接返回基础数据类型,比如查询记录条数啥的,查.
原创
2020-10-19 18:04:07 ·
648 阅读 ·
0 评论