⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 processdata.java

📁 hibernate处理缓存.提高运行速度.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		return commitUpdate(hql, new Object[]{new Integer(parm1),
				new Integer(parm2)});
	}

	/**
	 * 执行返回单一结果的查询语句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static Object uniqueResult(String hql, Object[] args) {
		Session ssn = getSession();
		Query q = ssn.createQuery(hql);
		for (int i = 0; args != null && i < args.length; i++) {
			q.setParameter(i, args[i]);
		}
		q.setMaxResults(1);
		return q.uniqueResult();
	}

	/**
	 * 执行统计查询语句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static Number executeNamedStat(String hql, Object[] args) {
		return (Number) namedUniqueResult(hql, args);
	}

	protected static Number executeNamedStat(String hql, int parm1) {
		return executeNamedStat(hql, new Object[]{new Integer(parm1)});
	}

	protected static Number executeNamedStat(String hql, int parm1, int parm2) {
		return executeNamedStat(hql, new Object[]{new Integer(parm1),
				new Integer(parm2)});
	}

	/**
	 * 执行统计查询语句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static int executeNamedStatAsInt(String hql, Object[] args) {
		return (executeNamedStat(hql, args)).intValue();
	}

	/**
	 * 执行统计查询语句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static int executeNamedStatAsInt(String hql, int parm1) {
		return executeNamedStatAsInt(hql, new Object[]{new Integer(parm1)});
	}
	protected static int executeNamedStatAsInt(String hql, String parm1) {
		return executeNamedStatAsInt(hql, new Object[]{parm1});
	}

	protected static int executeNamedStatAsInt(String hql, int parm1, int parm2) {
		return executeNamedStatAsInt(hql, new Object[]{new Integer(parm1),
				new Integer(parm2)});
	}

	protected static int executeNamedStatAsInt(String hql, int parm1,
			int parm2, int parm3) {
		return executeNamedStatAsInt(hql, new Object[]{new Integer(parm1),
				new Integer(parm2), new Integer(parm3)});
	}

	/**
	 * 执行统计查询语句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static long executeNamedStatAsLong(String hql, Object[] args) {
		return (executeNamedStat(hql, args)).longValue();
	}

	/**
	 * 执行普通查询语句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static List executeNamedQuery(String hql, int fromIdx,
			int fetchCount, Object[] args) {
		Session ssn = getSession();
		Query q = ssn.getNamedQuery(hql);
		for (int i = 0; args != null && i < args.length; i++) {
			q.setParameter(i, args[i]);
		}
		if (fromIdx > 0)
			q.setFirstResult(fromIdx);
		if (fetchCount > 0)
			q.setMaxResults(fetchCount);
		return q.list();
	}

	protected static List executeNamedQuery(String hql, int fromIdx,
			int fetchCount, int parm1) {
		return executeNamedQuery(hql, fromIdx, fetchCount,
				new Object[]{new Integer(parm1)});
	}

	protected static List executeNamedQuery(String hql, int fromIdx,
			int fetchCount, int parm1, int parm2) {
		return executeNamedQuery(hql, fromIdx, fetchCount, new Object[]{
				new Integer(parm1), new Integer(parm2)});
	}

	protected static List executeNamedQuery(String hql, int fromIdx,
			int fetchCount, int parm1, int parm2, int parm3) {
		return executeNamedQuery(hql, fromIdx, fetchCount, new Object[]{
				new Integer(parm1), new Integer(parm2), new Integer(parm3)});
	}

	/**
	 * 执行普通查询语句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static List findNamedAll(String hql, Object[] args) {
		return executeNamedQuery(hql, -1, -1, args);
	}

	protected static List findNamedAll(String hql, Object arg) {
		return findNamedAll(hql, new Object[]{arg});
	}

	protected static List findNamedAll(String hql, int arg) {
		return findNamedAll(hql, new Object[]{new Integer(arg)});
	}

	protected static List findNamedAll(String hql, int parm1, int parm2) {
		return findNamedAll(hql, new Object[]{new Integer(parm1),
				new Integer(parm2)});
	}

	protected static List findNamedAll(String hql, int parm1, int parm2,
			int parm3) {
		return findNamedAll(hql, new Object[]{new Integer(parm1),
				new Integer(parm2), new Integer(parm3)});
	}

	/**
	 * 执行返回单一结果的查询语句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static Object namedUniqueResult(String hql, Object[] args) {
		Session ssn = getSession();
		Query q = ssn.getNamedQuery(hql);
		for (int i = 0; args != null && i < args.length; i++) {
			q.setParameter(i, args[i]);
		}
		q.setMaxResults(1);
		return q.uniqueResult();
	}

	protected static Object namedUniqueResult(String hql, int parm1) {
		return namedUniqueResult(hql, new Object[]{new Integer(parm1)});
	}

	protected static Object namedUniqueResult(String hql, String parm1) {
		return namedUniqueResult(hql, new Object[]{parm1});
	}

	protected static Object namedUniqueResult(String hql, int parm1, int parm2) {
		return namedUniqueResult(hql, new Object[]{new Integer(parm1),
				new Integer(parm2)});
	}

	protected static Object namedUniqueResult(String hql, int parm1, int parm2,
			int parm3) {
		return namedUniqueResult(hql, new Object[]{new Integer(parm1),
				new Integer(parm2), new Integer(parm3)});
	}

	/**
	 * 执行更新语句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static int executeNamedUpdate(String hql, Object[] args) {
		Session ssn = getSession();
		Query q = ssn.getNamedQuery(hql);
		for (int i = 0; args != null && i < args.length; i++) {
			q.setParameter(i, args[i]);
		}
		return q.executeUpdate();
	}

	protected static int executeNamedUpdate(String hql, int parm1) {
		return executeNamedUpdate(hql, new Object[]{new Integer(parm1)});
	}

	protected static int executeNamedUpdate(String hql, int parm1, int parm2) {
		return executeNamedUpdate(hql, new Object[]{new Integer(parm1),
				new Integer(parm2)});
	}

	protected static int executeNamedUpdate(String hql, int parm1, int parm2,
			int parm3) {
		return executeNamedUpdate(hql, new Object[]{new Integer(parm1),
				new Integer(parm2), new Integer(parm3)});
	}

	/**
	 * 执行更新语句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static int commitNamedUpdate(String hql, Object[] args) {
		try {
			Session ssn = getSession();
			beginTransaction();
			Query q = ssn.getNamedQuery(hql);
			for (int i = 0; args != null && i < args.length; i++) {
				q.setParameter(i, args[i]);
			}
			int er = q.executeUpdate();
			commit();
			return er;
		} catch (HibernateException e) {
			rollback();
			throw e;
		}
	}

	protected static int commitNamedUpdate(String hql, int parm1, int parm2) {
		return commitNamedUpdate(hql, new Object[]{new Integer(parm1),
				new Integer(parm2)});
	}
	protected static int commitNamedUpdate(String hql, int parm1, int parm2,
			int parm3) {
		return commitNamedUpdate(hql, new Object[]{new Integer(parm1),
				new Integer(parm2), new Integer(parm2)});
	}
}

/**
 * 用于操作Hibernate的一些方法
 * 
 * @author liuxb
 */
abstract class _DAOBase {

	/**
	 * Get a instance of hibernate's session
	 * 
	 * @return
	 * @throws HibernateException
	 */
	protected static Session getSession() {
		return HibernateUtil.getSession();
	}

	/**
	 * Start a new database transaction.
	 */
	protected static void beginTransaction() {
		HibernateUtil.beginTransaction();
	}

	/**
	 * Commit the database transaction.
	 */
	protected static void commit() {
		HibernateUtil.commit();
	}

	/**
	 * Rollback the database transaction.
	 */
	protected static void rollback() {
		HibernateUtil.rollback();
	}

	protected static void close() {
		HibernateUtil.closeSession();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -