亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? processdata.java

?? hibernate處理緩存.提高運(yùn)行速度.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package com.holpe.database;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2008</p>
 *
 * <p>Company: </p>
 *
 * @author liuxb
 * @version 1.0
 */
import java.io.Serializable;
import java.sql.DatabaseMetaData;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import java.sql.CallableStatement;

public abstract class ProcessData extends _DAOBase {
	public final static int MAX_TAG_COUNT = 5;// 限制每篇文章的標(biāo)簽最多五個
	public final static int MAX_TAG_LENGTH = 20;// 標(biāo)簽最大長度,字節(jié)

	/**
	 * 獲取數(shù)據(jù)庫的元信息
	 * 
	 * @return
	 */
	public static DatabaseMetaData metadata() {
		try {
			return getSession().connection().getMetaData();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

	/**
	 * 添加對象
	 * 
	 * @param cbean
	 */
	public static void save(Object cbean) {
		try {
			Session ssn = getSession();
			beginTransaction();
			ssn.merge(cbean);
			commit();
		} catch (HibernateException e) {
			rollback();
			throw e;
		}
	}
	/*
	 * public static void prosave(Object cbean){ try{ String procedure ="{call
	 * test(?,?,?)}"; Session session =
	 * HibernateSessionFactory.currentSession(); Transaction tx =
	 * session.beginTransaction(); Connection conn = session.connection();
	 * CallableStatement cstmt=conn.prepareCall(procedure); cstmt.setString(1,
	 * "aa"); cstmt.setString(2, "bb"); cstmt.setString(3, "cc");
	 * cstmt.executeUpdate(); commit(); }catch(HibernateException e){
	 * rollback(); throw e; }
	 *  }
	 */
	/**
	 * 添加對象
	 * 
	 * @param cbean
	 */
	protected static void saveOrUpdate(Object cbean) {
		try {
			Session ssn = getSession();
			beginTransaction();
			ssn.saveOrUpdate(cbean);
			commit();
		} catch (HibernateException e) {
			rollback();
			throw e;
		}
	}

	/**
	 * 刪除對象
	 * 
	 * @param cbean
	 */
	protected static void delete(Object cbean) {
		try {
			Session ssn = getSession();
			beginTransaction();
			ssn.delete(cbean);
			commit();
		} catch (HibernateException e) {
			rollback();
			throw e;
		}
	}

	/**
	 * 根據(jù)主鍵刪除某個對象
	 * 
	 * @param objClass
	 * @param key
	 * @return
	 */
	protected static int delete(Class objClass, Serializable key) {
		StringBuffer hql = new StringBuffer("DELETE FROM ");
		hql.append(objClass.getName());
		hql.append(" AS t WHERE t.id=?");
		return commitUpdate(hql.toString(), new Object[]{key});
	}

	protected static int delete(Class objClass, int key) {
		return delete(objClass, new Integer(key));
	}

	/**
	 * 寫臟數(shù)據(jù)到數(shù)據(jù)庫,把未提交的隨后又被撤消的數(shù)據(jù)稱為"臟數(shù)據(jù)" 通俗一點(diǎn)就是在幾個并發(fā)進(jìn)程中,當(dāng)有若干個進(jìn)程都用到了數(shù)據(jù)A,
	 * 比如當(dāng)進(jìn)程1剛剛讀了A數(shù)據(jù)后,進(jìn)程2就對A數(shù)據(jù)進(jìn)行了某種計算操作, 將數(shù)據(jù)A的值改變了并保存了,此后進(jìn)程1本想再次讀取原A數(shù)據(jù),
	 * 結(jié)果讀取的卻是已經(jīng)改變的A數(shù)據(jù),這樣導(dǎo)致進(jìn)程1的數(shù)據(jù)發(fā)生了錯誤, 就把此時進(jìn)程1讀取已經(jīng)改變的A數(shù)據(jù)稱為讀“臟數(shù)據(jù)”。
	 */
	public static void flush() {
		try {
			Session ssn = getSession();
			if (ssn.isDirty()) {
				beginTransaction();
				ssn.flush();
				commit();
			}
		} catch (HibernateException e) {
			rollback();
			throw e;
		}
	}

	/**
	 * 根據(jù)主鍵加載對象
	 * 
	 * @param beanClass
	 * @param ident
	 * @return
	 */
	protected static Object getBean(Class beanClass, int id) {
		return getSession().get(beanClass, new Integer(id));
	}

	/**
	 * 執(zhí)行統(tǒng)計查詢語句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static Number executeStat(String hql, Object[] args) {
		return (Number) uniqueResult(hql, args);
	}

	/**
	 * 執(zhí)行統(tǒng)計查詢語句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static int executeStatAsInt(String hql, Object[] args) {
		return (executeStat(hql, args)).intValue();
	}

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

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

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

	/**
	 * 執(zhí)行統(tǒng)計查詢語句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static long executeStatAsLong(String hql, Object[] args) {
		return (executeStat(hql, args)).longValue();
	}

	/**
	 * 執(zhí)行普通查詢語句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static List findAll(String hql, Object[] args) {
		return executeQuery(hql, -1, -1, args);
	}

	/**
	 * 執(zhí)行普通查詢語句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static List executeQuery(String hql, int fromIdx, int fetchCount,
			Object[] args) {
		Session ssn = getSession();
		Query q = ssn.createQuery(hql);
		// String parm="";
		for (int i = 0; args != null && i < args.length; i++) {
			// parm=args[i].toString();
			q.setParameter(i, args[i]);
		}
		if (fromIdx > 0)
			q.setFirstResult(fromIdx);
		if (fetchCount > 0)
			q.setMaxResults(fetchCount);
		return q.list();
	}

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

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

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

	/**
	 * 執(zhí)行更新語句
	 * 
	 * @param hql
	 * @param args
	 * @return
	 */
	protected static int executeUpdate(String hql, Object[] args) {
		try {
			Session ssn = getSession();
			Query q = ssn.createQuery(hql);
			// System.out.println("sql===" + q);
			for (int i = 0; args != null && i < args.length; i++) {
				// System.out.println("1111===" + args[i].toString());
				// q.setParameter(i, args[i].toString());
				q.setParameter(i, args[i]);
			}
			return q.executeUpdate();
		} catch (HibernateException e) {
			e.printStackTrace();
		}
		return 0;
	}

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

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

	protected static int commitUpdate(String hql, int parm1, int parm2) {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美激情插 | 久久精品一区二区三区不卡| 亚洲女同女同女同女同女同69| 国产精品一色哟哟哟| 日韩欧美美女一区二区三区| 日韩精品视频网| 91精品国产综合久久蜜臀 | 亚洲永久免费视频| 粉嫩一区二区三区性色av| 精品视频在线免费看| 亚洲一二三级电影| 99精品国产91久久久久久| 中日韩av电影| 成人免费高清在线| 中文字幕亚洲不卡| 99久久精品一区二区| 日韩毛片在线免费观看| 91麻豆免费在线观看| 亚洲综合图片区| 欧美日韩一区不卡| 捆绑调教一区二区三区| 久久久久久久久蜜桃| 成人黄色在线视频| 亚洲免费在线播放| 欧美美女一区二区三区| 蜜桃av一区二区在线观看| 2021国产精品久久精品| 国产高清成人在线| 亚洲精选视频免费看| 欧美三级在线播放| 极品少妇一区二区三区精品视频| 久久久无码精品亚洲日韩按摩| 国产黄色精品视频| 一级女性全黄久久生活片免费| 欧美日韩免费电影| 国产九色sp调教91| 亚洲日本va在线观看| 欧美精品第1页| 国产精品91一区二区| 一区二区三区蜜桃| 久久久亚洲精华液精华液精华液 | 日韩欧美高清在线| 成人午夜视频免费看| 五月综合激情网| 欧美激情中文不卡| 欧美一区二区不卡视频| 国产凹凸在线观看一区二区| 性久久久久久久久久久久| 久久久久久久久久电影| 欧美视频在线观看一区二区| 国产一区二区三区黄视频| 亚洲人成电影网站色mp4| 精品国产乱码久久久久久浪潮| 在线观看欧美日本| 成人18视频日本| 懂色av一区二区在线播放| 男人的j进女人的j一区| 亚洲国产成人精品视频| 日韩伦理av电影| 亚洲少妇屁股交4| 国产精品日产欧美久久久久| 久久先锋影音av鲁色资源网| 欧美精品乱码久久久久久按摩| 91久久精品一区二区三| av电影在线观看一区| 成人福利视频在线看| 粉嫩av亚洲一区二区图片| 国产成人啪午夜精品网站男同| 精品亚洲成a人| 国产一区二区电影| 成人av在线资源网| 老司机免费视频一区二区三区| 国产精品毛片高清在线完整版| 国产精品午夜在线| 亚洲欧美日韩国产一区二区三区| 国产日韩欧美综合在线| 欧美国产精品v| 中文字幕一区三区| 亚洲综合在线五月| 国模无码大尺度一区二区三区 | av高清久久久| 欧美挠脚心视频网站| 国产精品久久一级| 激情五月激情综合网| 欧美欧美午夜aⅴ在线观看| 中文字幕一区二区三| 久久电影网电视剧免费观看| 欧美美女喷水视频| 午夜精品一区二区三区免费视频 | 欧美精品久久一区| 午夜欧美在线一二页| 欧洲视频一区二区| 亚洲黄色免费网站| 91视频.com| 亚洲欧美成人一区二区三区| 99精品视频一区二区三区| 国产精品日产欧美久久久久| 国产精品一区二区91| 国产亚洲美州欧州综合国| 国产凹凸在线观看一区二区| 久久久91精品国产一区二区精品 | 日本一区二区免费在线观看视频 | 不卡电影免费在线播放一区| 中文字幕av资源一区| 91美女在线观看| 亚洲男人的天堂av| 一本色道亚洲精品aⅴ| 天堂资源在线中文精品| 日韩三级精品电影久久久 | 欧美一区二区三区在| 蜜臀av一区二区在线观看| 久久久天堂av| 99re视频这里只有精品| 日本中文字幕一区二区视频| 精品精品国产高清一毛片一天堂| 国产一区二区三区四区五区美女 | 精品在线免费视频| 中文字幕第一页久久| 91麻豆精品国产无毒不卡在线观看| 久久91精品久久久久久秒播| 亚洲欧洲精品一区二区三区| 欧美日韩电影一区| 成人在线综合网| 麻豆成人久久精品二区三区红| 日韩美女视频一区| 久久久久久电影| 91精品国产高清一区二区三区| jvid福利写真一区二区三区| 久久国产婷婷国产香蕉| 亚洲国产精品一区二区www| 中文av字幕一区| 久久综合久久综合久久| 欧美一区二区三区公司| 欧美在线免费观看视频| 不卡一区二区中文字幕| 国产一区二区三区免费观看| 九一九一国产精品| 麻豆中文一区二区| 麻豆极品一区二区三区| 免费看欧美女人艹b| 日韩精品电影在线| 日韩精品久久理论片| 日韩中文欧美在线| 免费成人av在线播放| 裸体一区二区三区| 九色|91porny| 国产精品1区二区.| av亚洲精华国产精华| 91美女在线看| 色av综合在线| 欧美一区二区三区免费大片 | 欧美日韩国产不卡| 91精品福利在线一区二区三区| 7777精品伊人久久久大香线蕉最新版| 在线观看网站黄不卡| 欧美另类videos死尸| 日韩欧美二区三区| 欧美国产一区在线| 亚洲最色的网站| 青青草国产成人99久久| 国产一区二区福利视频| 91首页免费视频| 日韩一级完整毛片| 国产精品久久久久影院| 天天影视色香欲综合网老头| 国产精品中文字幕一区二区三区| 成人免费看黄yyy456| 欧美日韩不卡在线| 欧美激情在线一区二区| 亚洲一区二区三区三| 丁香婷婷综合五月| 91精品国产福利在线观看| 亚洲日本成人在线观看| 狠狠色狠狠色综合系列| 在线观看一区日韩| 成人欧美一区二区三区| 精品中文av资源站在线观看| 欧美羞羞免费网站| 国产精品福利在线播放| 国产伦精品一区二区三区免费迷 | 欧美麻豆精品久久久久久| 国产精品久久一卡二卡| 国产成人鲁色资源国产91色综 | 精品一区中文字幕| 亚洲国产另类av| 国产精品一区二区久久精品爱涩| 欧美日韩中文字幕一区| 国产精品传媒入口麻豆| 国产久卡久卡久卡久卡视频精品| 日韩一级免费一区| 日本不卡中文字幕| 日韩欧美一区二区三区在线| 丝袜诱惑制服诱惑色一区在线观看 | 丁香五精品蜜臀久久久久99网站| 精品精品欲导航| 国产91精品一区二区| 国产精品无人区| 99久久亚洲一区二区三区青草| 国产精品国产自产拍在线| 国产福利91精品一区二区三区|