使用ibatis 统计查询的时候 是否会得到null值的结果?
方法
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
count函数返回的就是数值类型,不会得到null
直接强转成
Integer
不会,但是拆箱会。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,并在业务层作相应判空处理。
别问我为什么[手动捂脸哭]
会不会为
null
这取决于你的sql
跟ibatis
没有任何关系。select count(1) from test where 1=0
你可以使用这个sql
证明一下会不会为null
。