hibernate HQL查询数据库表中记录的条数
2011-04-22 14:59
274 查看
/** * Configures and provides access to Hibernate sessions, tied to the * current thread of execution. Follows the Thread Local Session * pattern, see {@link http://hibernate.org/42.html }. */ public class HibernateUtil { /** * Location of hibernate.cfg.xml file. * Location should be on the classpath as Hibernate uses * #resourceAsStream style lookup for its configuration file. * The default classpath location of the hibernate config file is * in the default package. Use #setConfigFile() to update * the location of the configuration file for the current session. */ private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml"; private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>(); private static Configuration configuration = new Configuration(); private static org.hibernate.SessionFactory sessionFactory; private static String configFile = CONFIG_FILE_LOCATION; static { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { System.err .println("%%%% Error Creating SessionFactory %%%%"); e.printStackTrace(); } } private HibernateUtil() { } /** * Returns the ThreadLocal Session instance. Lazy initialize * the <code>SessionFactory</code> if needed. * * @return Session * @throws HibernateException */ public static Session getSession() throws HibernateException { Session session = (Session) threadLocal.get(); if (session == null || !session.isOpen()) { if (sessionFactory == null) { rebuildSessionFactory(); } session = (sessionFactory != null) ? sessionFactory.openSession() : null; threadLocal.set(session); } return session; } /** * Rebuild hibernate session factory * */ public static void rebuildSessionFactory() { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { System.err .println("%%%% Error Creating SessionFactory %%%%"); e.printStackTrace(); } } /** * Close the single hibernate session instance. * * @throws HibernateException */ public static void closeSession() throws HibernateException { Session session = (Session) threadLocal.get(); threadLocal.set(null); if (session != null) { session.close(); } } /** * return session factory * */ public static org.hibernate.SessionFactory getSessionFactory() { return sessionFactory; } /** * return session factory * * session factory will be rebuilded in the next call */ public static void setConfigFile(String configFile) { HibernateUtil.configFile = configFile; sessionFactory = null; } /** * return hibernate configuration * */ public static Configuration getConfiguration() { return configuration; } }
/** * <p> * Title: HQL的语句封装类 * </p> * <p> * Description: 该对象封装HQL的查询语句,参数集合,排序参数,分组参数,单页起始地址 * </p> */ public class HQuery { /** * HQL查询语句 */ private String queryString; /** * 参数集合对象 */ private ParasList paralist; /** * 排序字段 */ private String orderby; /** * 分组字段 */ private String groupby; /** * 分页起始查询地址 */ private int pageStartNo; /** * 取得一个Hibernate的Query对象 * * @return:Query对象 */ public String getQueryString() { return queryString; } /** * 设置一个HQL查询字符串 * * @param queryString:查询字符串 * */ public void setQueryString(String queryString) { this.queryString = queryString; } /** * 取得参数集合对象 * * @return:参数集合对象 */ public ParasList getParalist() { return paralist; } /** * 设置参数集合对象 * * @param paralist:参数集合对象 */ public void setParalist(ParasList paralist) { this.paralist = paralist; } /** * 取得排序字段 * * @return:排序字段 */ public String getOrderby() { return orderby; } /** * 设置排序字段 * * @param orderby */ public void setOrderby(String orderby) { this.orderby = orderby; } /** * 取得分组字段 * * @return */ public String getGroupby() { return groupby; } /** * 设置分组字段 * * @param groupby */ public void setGroupby(String groupby) { this.groupby = groupby; } /** * 取得页起始地址 * * @return */ public int getPageStartNo() { return pageStartNo; } /** * 设置页起始地址 * * @param pageStartNo */ public void setPageStartNo(int pageStartNo) { this.pageStartNo = pageStartNo; } }
/** * 获得表中记录的总条数 * * @param hql:HQL查询语句 * @return int 记录的总条数 */ public static int getRows(String hql) { int totalRows = 0; Session session = null; try { session = HibernateUtil.getSession(); Query query = session.createQuery(hql); totalRows = (new Integer(query.uniqueResult().toString())) .intValue(); } catch (Exception e) { e.printStackTrace(); } finally { HibernateUtil.closeSession(); } return totalRows; }
相关文章推荐
- Hibernate查询重要笔记 - HQL总结 数据库各种查询宝典 大总结
- 数据库查询语言(一)---HQL(Hibernate Query Language)
- 06_传智播客hibernate教程_完善HibernateUtil类及hql查询入门 &amp;amp;&amp;amp;07_传智播客hibernate教程_实体类或属性名与数据库关键字冲突问题
- 获得查询数据库结果集的记录条数
- 操作数据库之查、增、删、改、统计、排序、混合查询、指定条数、不重复记录
- Hibernate查询重要笔记 - HQL总结 数据库各种查询宝典 大总结
- DBA用于查询当前数据库表格记录条数的脚本
- hibernate使用hql和sql查询总记录数和注意事项
- Hibernate HQL与Native_SQL_查询_Query接口_获取唯一记录
- Java Hibernate中使用HQL语句进行数据库查询的要点解析
- 用于查询当前数据库中所有表格的记录条数的脚本(转)
- 用于查询当前数据库中所有表格的记录条数的脚本
- hibernate使用hql和sql查询总记录数语句
- 用于查询当前数据库中所有表格的记录条数的脚本
- 在hibernate中,对数据库的增删改操作以及HQL查询与QBC查询的语句的编写语法
- Hibernate中使用Hql查询出一定时间段的记录
- sql查询数据库中所有表的记录条数,以及占用磁盘空间大小。
- 用于查询当前数据库中所有表格的记录条数的脚本
- hibernate中使用HQL进行数据库查询
- PHP查询数据库中满足条件的记录条数(两种实现方法)