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

Hibernate中的count函数 hibernate 怎么取出COUNT(*)

2023-05-26 00:18:25 互联网 未知 开发

 Hibernate中的count函数 hibernate 怎么取出COUNT(*)

Hibernate中的count函数

select count(uu.userid) from T_Userinfo uu where uu.username like %t%
T_Userinfo为实体类的类名
uu.username为实体类中的成员变量的名字。
取出COUNT(*)如下,
写了两个findBY函数,一次找出USER_ID,KEY_WORD,一次找出COUNT(*),用到了
Object[] o= list.toArray()
int count = Integer.parseInt(o[0].toString())

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如何查询/显示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()

最新文章