当前位置:首页>开发>正文

Hibernate如何查询/显示count()的值 Hibernate中的count函数

2023-05-07 02:55:27 互联网 未知 开发

 Hibernate如何查询/显示count()的值 Hibernate中的count函数

Hibernate如何查询/显示count()的值

解决方案:
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()
//这样就可以两个版本同时兼容.

//第一种方法:
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()

Hibernate中的count函数

select count(uu.userid) from T_Userinfo uu where uu.username like %t%
T_Userinfo为实体类的类名
uu.username为实体类中的成员变量的名字。

hibernate 怎么取出COUNT(*)

hibernate取出count(*)的办法如下:
1、定义查询语句
final String countHql="select count(*) from ExcelInfor"
2、获取count(*)返回结果:
(1)int count=Integer.parseInt(session.createSQLQuery(countHql).list().get(0).toString())
(2)int count=((Long)(session.createQuery(countHql).iterate().next())).intValue()
(3)int count=((Integer)(session.createQuery(countHql).uniqueResult()).intValue()

hibernate查询SQL语句(统计)时的问题

Query query = session.createSQLQuery("select xm,count(xm) count from RcwhB group by xm")

返回的是一个list 查询的时候你在里面加了一个count 的字段
而你对应的RcwhB model类里面肯定没有这个count属性没有getCount()和set方法
所以导致hibernate查询的时候不能帮你封装成对应的modle
所以就报你上面的错误

最新文章