温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用mybatis返回boolean的值时出现返回null如何解决

发布时间:2020-11-25 14:17:44 来源:亿速云 阅读:936 作者:Leah 栏目:开发技术

这篇文章将为大家详细讲解有关使用mybatis返回boolean的值时出现返回null如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

常规情况,我们使用数据库判断 true or false。所写的语句是select count(id) from 表名;

这种常用情况下,只有当查询语句查到数据 且 只有一条时才会返回 true;

还有一种情况,就是数据库中返回判断句,比如

使用mybatis返回boolean的值时出现返回null如何解决

返回的对错将以1或0表示;

但是当返回值为null,或者多个值的时候 会怎么样呢,0 1 还是报错?

使用mybatis返回boolean的值时出现返回null如何解决

测试表示这种情况下会报错:

使用mybatis返回boolean的值时出现返回null如何解决

希望大家使用 boolean 返回时 也能格外小心。

这里简单做了更改方法,可能不是最优化的,有更好的意见还请不吝赐教。

使用mybatis返回boolean的值时出现返回null如何解决

补充知识:mybatis mapper方法返回值是null还是空对象,或者空列表?

返回单个实体对象,从数据库中没有查到数据时返回为null;

返回Map类型数据,从数据库中没有查到数据时返回为一个空map(size==0),内部用反射创建的HashMap对象,有数据时放入这个map,没数据就直接返回这个没有任何元素的map,而不是null;

返回List类型数据,从数据库中没有查到数据时返回为一个空列表(size==0),内部返回的是自己new的List,有元素则添加进去,没元素就返回这个list,不会为null。

myabtis源代码在MapperMethod类下的这段代码,分别追查下去就行了。。我跟踪之后得到的结果就是上面这些,当然,只是跟踪了一部分的实现类,可能其他实现类是不这样呢?如果有误请评论。。等先研究一下spring源码之后再仔细看看mybatis源码。

使用mybatis返回boolean的值时出现返回null如何解决

关于使用mybatis返回boolean的值时出现返回null如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI