Integer.intValue_计数函数count怎么用

Integer.intValue_计数函数count怎么用Java代码 //intcount=((Integer)query.uniqueResult()).intValue();  //改成    intcount=((Number)query.uniqueResult()).intValue();    Java代码  publicintfindCountByYear(Stringcu

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Java代码  

//int count = ((Integer)query.uniqueResult()).intValue();   

//改成   

  

int count = ((Number)query.uniqueResult()).intValue();  

 

 

Java代码  

 

public int findCountByYear(String currYear) {  

    String hqlString = “select count(*) from WaterPlan as p where p.planYear ='”+currYear+”‘”;  

    Query query = this.getSession().createQuery(hqlString);  

          

    return ((Number)query.uniqueResult()).uniqueResult();  

}  

 从Hibernate 3.0.x/3.1.x升级到最新的3.2版之后,3.2版的很多sql函数如count(), sum()的唯一返回值已经从Integer变为Long,如果不升级代码,会得到一个ClassCastException。 

这个变化主要是为了兼容JPA,可以在hibernate.org的最新文档中找到说明。 

Hibernate Team也提供了一个与原来兼容的解决方案:

Java代码  

Configuration classicCfg = new Configuration();   

classicCfg.addSqlFunction( “count”, new ClassicCountFunction());   

classicCfg.addSqlFunction( “avg”, new ClassicAvgFunction());   

classicCfg.addSqlFunction( “sum”, new ClassicSumFunction());   

SessionFactory classicSf = classicCfg.buildSessionFactory();   

 

或 

Java代码  

//int count = ((Integer)query.uniqueResult()).intValue();   

//改成   

  

int count = ((Number)query.uniqueResult()).intValue();   

  

//这样就可以两个版本同时兼容.   

  

Java代码  

//参考代码  

//第一种方法:  

  String hql = “select count(*) from User as user”;  

  Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next();  

  return count.intValue();  

  

//第二种方法:  

 String hql = “select count(*) from User as user”;  

  return ((Integer)getHibernateTemplate().iterate(hql).next()).intValue();  

  

//第三种方法:  

 String hql = “select count(*) from User as user”;  

 Query query =  getHibernateTemplate().createQuery( getSession(),hql);  

 return ((Integer)query.uniqueResult()).intValue();  

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187748.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月18日 下午5:31
下一篇 2026年4月18日 下午5:37


相关推荐

  • 什么是“内容”?内容平台又是如何影响我们的文化与消费?

    什么是“内容”?内容平台又是如何影响我们的文化与消费?

    2026年3月15日
    2
  • pytest parametrize fixture_参数化数据

    pytest parametrize fixture_参数化数据前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年7月29日
    9
  • QT(C++)面试总结

    QT(C++)面试总结参考博客QT信号槽机制的优缺点(1)问题:为什么Qt使用信号与槽机制而不是传统的回调函数机制进行对象间的通信呢?回调函数的本质是“你想让别人的代码执行你的代码,而别人的代码你又不能动”这种需求下产生的。回调函数是函数指针的一种用法,如果多个类都关注某个类的状态变化,此时需要维护一个列表,以存放多个回调函数的地址。对于每一个被关注的类,都需要做类似的工作,因此这种做法效率低,不灵活。(2)解决办法Qt使用信号与槽机制来解决这个问题,程序员只需要指定一个类含有哪些信号函数、哪些槽函数,Qt会处理信

    2022年6月25日
    26
  • MIPI协议(下)

    MIPI协议(下)GOON…完成mipi信号通道分配后,需要生成与物理层对接的时序、同步信号: MIPI规定,传输过程中,包内是200mV、包间以及包启动和包结束时是1.2V,两种不同的电压摆幅,需要两组不同的LVDS驱动电路在轮流切换工作;为了传输过程中各数据包之间的安全可靠过渡,从启动到数据开始传输,MIPI定义了比较长的可靠过渡时间,加起来最少也有600多ns;而且规定各个时间参数是可调的,所以…

    2022年4月30日
    73
  • 🚀 OpenClaw Docker+Minimax部署完全指南:踩坑记录与解决方案

    🚀 OpenClaw Docker+Minimax部署完全指南:踩坑记录与解决方案

    2026年3月16日
    2
  • vim解决中文乱码问题

    vim解决中文乱码问题

    2021年8月5日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号