使用ibatis 统计查询的时候 是否会得到null值的结果?

发布于 2022-09-04 12:13:30 字数 453 浏览 18 评论 0

方法

public int countSomething(Condition condition) {
        return (Integer) getSqlMapClientTemplate().queryForObject("test.countSomething", condition);
    }

xml

<select id="countSomething" parameterClass="Condition" resultClass="int">
        SELECT COUNT(1) FROM test
        WHERE condition1 = #condition1#
    </select>

这里直接强转成Integer然后利用拆箱返回有可能会NPE吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

笑脸一如从前 2022-09-11 12:13:31

count函数返回的就是数值类型,不会得到null

<逆流佳人身旁 2022-09-11 12:13:31

直接强转成Integer不会,但是拆箱会。

int i = (Integer) null;  //NullPointer Exception
Integer i1 = (Integer) null;  //null
故笙诉离歌 2022-09-11 12:13:30

sql 语句会有返回null的情况,比如:
select count(1) from table_1 group by column_1;
select count(1) from table_1 where id=123456 limit 2, 10;
需要在Mapper.java接口方法返回Integer,并在业务层作相应判空处理。

别问我为什么[手动捂脸哭]

山川志 2022-09-11 12:13:30

会不会为null这取决于你的sqlibatis没有任何关系。
select count(1) from test where 1=0 你可以使用这个sql证明一下会不会为null

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文