@JFinal 你好,想跟你请教个问题:老大,我用Db.queryInt("select count(1) from user")的时候,报下面的错。
====================================================
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
====================================================
DEBUG到DbPro.queryColumn方法,发现List<T> result = query(sql, paras);这个result里面只有一个[0],但是这个0居然是Long型的。这是bug吗?还是我用错了?请指教~
(我用Db.queryLong就不会出错)
sql 中的 count sum 等函数返回的结果会自动变成 Long,这是 JDBC 自动进行转换的,因为函数计算可能会数据溢出,例如对多个非常大的 Integer 数据进行 sum 时超过Integer.MAX_VALUE时就数据溢出了。
使用 Db.queryLong(sql) 即可 ######回复 @我是车子啊 : 例如,你要查找某个nickName 所对应的id号:Db.queryInt("select id from user where nickName=? limit 1", "james");######老大 queryInt这个方法有正确的打开方式么,能不能示例一个######谢老大指点
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。