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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dbutil.java

?? 數據庫類
?? JAVA
字號:
package com.frame.util;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import javax.transaction.UserTransaction;

import com.frame.exception.NoConnectionException;
import com.frame.log.LogHelper;

/**
 * <p>Title: DBUtil</p>
 * <p>Description: This class <code>DBUtil</code> is an utility class used bu another class to get
 * <code>java.sql.Connection</code>, <code>java.sql.DataSource</code> and <code>javax.transaction.
 * UserTransaction</code></p>
 * <p>Copyright: Copyright (c) 2002 by LBS Co.,Ltd</p>
 * <p>Company: LBS</p>
 * @author LBS Archiect Team
 * @version 0.1
 */

public class DBUtil {

	private static DataSource ds;
	private static Context ic;
	private static String dataSourceName;
	private static DataSource specifiedDS;
	private static DataSource logServiceDS;
	private static LogHelper log;

	public void init() {
		try {
			log = new LogHelper("DBUtil.class");
			ic = getInitialContext();
			Connection conn1 = null;
			Connection conn2 = null;
			try {
				conn1 = getConnection();
				conn2 = getConnection(GlobalNames.LOG_DATASOURCE_NAME);
			} catch (NoConnectionException ex) {
			}
			if (conn1 != null)
				conn1.close();
			if (conn2 != null)
				conn2.close();
		} catch (NamingException nam) {
			log.log(null, null, GlobalNames.DEBUG_LOG, nam.toString());
		} catch (SQLException sql) {
			log.log(null, null, GlobalNames.DEBUG_LOG, sql.toString());
		}

	}

	public static Connection getLogConnection() throws NoConnectionException {
		Connection conn = null;
		try {
			//if(ic == null)
			ic = getInitialContext();
			if (logServiceDS == null) {
				logServiceDS = (DataSource) ic.lookup(GlobalNames.LOG_DATASOURCE_NAME);
			}
			conn = logServiceDS.getConnection();
		} catch (NamingException ex) {
			System.out.println("catch NamingException when trying to lookup DataSource name\n" + GlobalNames.LOG_DATASOURCE_NAME);
			throw new NoConnectionException();
		} catch (SQLException sql) {
			System.out.println("catch SQLException when trying to get connection from DataSource\n"	+ sql.toString());
			throw new NoConnectionException();
		} catch (Exception ex) {
			ex.printStackTrace();
			throw new NoConnectionException();
		} finally {
			if (GlobalNames.DEBUG_OUTPUT_FLAG) {
				System.out.println("Return connection = " + conn);
			}
			return conn;
		}
	}
	/**
	 * This method is used to get a <code>java.sql.connection</code> from connection pool
	 * @return java.sql.Connection
	 */
	public static Connection getConnection() throws NoConnectionException {
		Connection conn = null;
		try {
			if (ic == null){
				ic = getInitialContext();
			}
			if (ds == null){
				ds = (DataSource) ic.lookup(GlobalNames.DATA_SOURCE);
			}
			conn = ds.getConnection();
			if (conn == null){
				throw new NoConnectionException();
			}
		} catch (NamingException ex) {
			System.out.println("catch NamingException when trying to lookup DataSource name\n"	+ ex.toString());
			throw new NoConnectionException();
		} catch (SQLException sql) {
			System.out.println("catch SQLException when trying to get connection from DataSource\n"	+ sql.toString());
			throw new NoConnectionException();
		} finally {
			if (GlobalNames.DEBUG_OUTPUT_FLAG) {
				System.out.println("Return connection = " + conn);
			}
			return conn;
		}
	}

	public static Connection getConnection(String dsName) throws NoConnectionException {
		Connection conn = null;
		if (dsName == null) {
			System.out.println("unable to look a null datasource!!!");
			return null;
		}
		try {
			if (ic == null){
				ic = getInitialContext();
			}
			if (dataSourceName == null) {
				dataSourceName = dsName;
			}
			if (!dsName.equals(dataSourceName)) {
				dataSourceName = dsName;
				specifiedDS = (DataSource) ic.lookup(dataSourceName);
			} else if (specifiedDS == null) {
				specifiedDS = (DataSource) ic.lookup(dataSourceName);
			}
			conn = specifiedDS.getConnection();
		} catch (NamingException naming) {
			System.out.println("Catching naming exception when try to lookup "	+ "datasource["	+ dsName + "] "	+ naming.toString());
			throw new NoConnectionException();
		} catch (SQLException sqle) {
			System.out.println("Catching SQLException when trying to getConnection"	+ "from datasource[" + dsName + "] " + sqle.toString());
			throw new NoConnectionException();
		} finally {
			return conn;
		}
	}
	/**
	 * This method is used to get a Sequence  from
	 * Database.
	 * @return java.lang.String
	 */
	public static String getSequence(Connection con, String sequenceName) throws SQLException {
		String sequenceID = null;
		StringBuffer buffer = new StringBuffer();
		buffer.append("Select " + sequenceName + ".nextval from dual");
		PreparedStatement ps = con.prepareStatement(buffer.toString());
		ResultSet rs = ps.executeQuery();
		if (rs.next()){
			sequenceID = rs.getString(1);
		}
		if (rs != null){
			rs.close();
		}
		if (ps != null){
			ps.close();
		}
		//log.log(null, GlobalNames.DEBUG_LOG, " ===== generate a sequenceID :" + sequenceID + " =====");
		return sequenceID;
	}
	/**
	 * This method is used to get a Sequence  from
	 * Database.
	 * @return java.lang.String
	 */
	public static Integer getSequence(String sequenceName) throws SQLException {
		Integer sequenceID = null;
		StringBuffer buffer = new StringBuffer();
		buffer.append("Select " + sequenceName + ".nextval from dual");
		Connection con = null;
		try {
			con = getConnection();
		} catch (NoConnectionException e) {
			e.printStackTrace();
		}
		PreparedStatement ps = con.prepareStatement(buffer.toString());
		ResultSet rs = ps.executeQuery();
		if (rs.next()){
			sequenceID = new Integer(rs.getInt(1));
		}
		if (rs != null){
			rs.close();
		}
		if (ps != null){
			ps.close();
		}
		if (con != null) {
			con.close();
		}
		//log.log(null, GlobalNames.DEBUG_LOG, " ===== generate a sequenceID :" + sequenceID + " =====");
		return sequenceID;
	}
	/**
	 * This method is used to get a <code>javax.transaction.UserTransaction</code> from
	 * JNDI tree.
	 * @return javax.transaction.UserTransaction
	 */
	public static UserTransaction getUserTransaction() throws NamingException, Exception {
		UserTransaction tran = null;
		try {
			Context ic = getInitialContext();
			if (ic != null) {
				tran = (UserTransaction) ic.lookup(GlobalNames.USER_TRANSACTION);
			}
			if (tran == null) {
				throw new Exception("UserTransaction is null!");
			}
		} catch (NamingException ex) {
			System.out.println("catch NamingException when trying to lookup UserTransaction name\n"	+ ex.toString());
			throw ex;
		} finally {
			return tran;
		}
	}

	public static String dumpBlob(Blob blob) throws SQLException, IOException {
		String returnStr = null;
		long length = 0;
		InputStream instream = blob.getBinaryStream();
		byte[] buffer = new byte[(int) blob.length()];
		instream.read(buffer);
		instream.close();
		returnStr = new String(buffer);                              
		return returnStr;
	}

	/**
	 * This method is used to get an <code>javax.naming.InitialContext</code> object from
	 * JDNI tree.
	 * @return javax.transaction.InitialContext
	 * @throws NamingException
	 */
	private static Context getInitialContext() throws NamingException {
		Properties properties = null;
		try {
			properties = new Properties();
			properties.put(Context.INITIAL_CONTEXT_FACTORY,	GlobalNames.INITIAL_FACTORY);
			properties.put(Context.PROVIDER_URL, GlobalNames.URL_PROVIDER);
			return new InitialContext(properties);
		} catch (Exception e) {
			System.out.println("Unable to connect to WebLogic server at " + GlobalNames.URL_PROVIDER);
			System.out.println("Please make sure that the server is running.");
			return null;
		}
	}
	private static Context getInitialContext(String url) throws NamingException {
		Properties properties = null;
		try {
			properties = new Properties();
			properties.put(Context.INITIAL_CONTEXT_FACTORY,GlobalNames.INITIAL_FACTORY);
			properties.put(Context.PROVIDER_URL, url);
			return new InitialContext(properties);
		} catch (Exception e) {
			System.out.println("Unable to connect to WebLogic server at " + GlobalNames.URL_PROVIDER);
			System.out.println("Please make sure that the server is running.");
			return null;
		}
	}

	/**
	 * 釋放PreparedStatement,以供子類調用
	 * @param statement
	 * @throws SQLException
	 */
	public static void closeStatement(PreparedStatement statement) throws SQLException {
		if (statement != null) {
			statement.close();
			statement = null;
		}
	}
	/**
	 * 釋放PreparedStatement,以供子類調用
	 * @param statement
	 * @throws SQLException
	 */
	public static void closeConnection(Connection con) throws SQLException {
		if (con != null) {
			con.close();
			con = null;
		}
	}
	/**
	 * 釋放ResultSet,以供子類調用
	 * @param rs
	 * @throws SQLException
	 */
	public static void closeResultSet(ResultSet rs) throws SQLException {
		if (rs != null) {
			rs.close();
			rs = null;
		}
	}

	/**
	 * 釋放ResultSet和
	 * @param rs
	 * @param statement
	 * @throws SQLException
	 */
	public static void closeResStat(ResultSet rs, PreparedStatement statement)
		throws SQLException {
		closeResultSet(rs);
		closeStatement(statement);
	}
	public static void closeRes(Connection con,ResultSet rs,PreparedStatement statement)throws SQLException {
		closeResultSet(rs);
		closeStatement(statement);
		closeConnection(con);
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av资源网一区| 午夜影院久久久| 欧美欧美午夜aⅴ在线观看| 激情综合色播五月| 一区二区三区波多野结衣在线观看 | 欧美精品一区男女天堂| 99免费精品在线观看| 久久99精品久久久久婷婷| 一区二区三区四区不卡在线 | 91在线国内视频| 黄色资源网久久资源365| 亚洲午夜三级在线| 国产精品网站导航| 国产日产亚洲精品系列| 91精品国产91久久久久久一区二区 | 国产欧美日韩精品一区| 欧美一级久久久久久久大片| 99re成人在线| 粉嫩aⅴ一区二区三区四区五区 | 久久99精品国产.久久久久| 日本三级亚洲精品| 久久精品亚洲国产奇米99| 欧美挠脚心视频网站| 成人av免费在线观看| 激情综合网av| 日韩精品电影一区亚洲| 亚洲国产你懂的| 中文字幕亚洲一区二区av在线| 久久老女人爱爱| 欧美一区二区久久久| 欧美日韩免费在线视频| 99免费精品视频| 99热在这里有精品免费| 成人精品在线视频观看| 处破女av一区二区| 国产高清久久久| 国产成人精品亚洲午夜麻豆| 国产一区二区不卡在线| 国产一区二区三区四| 国产在线精品一区二区不卡了| 美女视频网站久久| 奇米影视在线99精品| 视频一区二区三区中文字幕| 亚洲国产综合色| 亚洲二区在线视频| 婷婷综合另类小说色区| 免费不卡在线观看| 精品在线一区二区| 国产综合色精品一区二区三区| 国产一区二区免费看| 国产精品538一区二区在线| 国产激情视频一区二区三区欧美 | 亚洲永久免费av| 亚洲地区一二三色| 五月婷婷综合网| 日本aⅴ精品一区二区三区 | 国产精品第五页| 亚洲色图视频网站| 一区二区激情视频| 亚洲h在线观看| 精品在线亚洲视频| av在线不卡电影| 色哟哟亚洲精品| 91精品国产综合久久福利软件| 欧美成人福利视频| 欧美国产一区在线| 一区二区在线看| 日本欧美韩国一区三区| 精品一区二区三区在线观看 | 91麻豆精品国产91久久久更新时间| 欧美一级黄色大片| 精品国产sm最大网站| 欧美激情一区二区三区在线| 亚洲免费av在线| 日韩国产精品久久久| 国产福利一区二区| 色综合激情五月| 日韩一级片网站| 国产精品久久久久影视| 午夜国产精品一区| 国产精品正在播放| 色天天综合色天天久久| 欧美精品一区二区三区在线播放| 一区视频在线播放| 久久99国产乱子伦精品免费| 91一区二区三区在线观看| 在线综合+亚洲+欧美中文字幕| 国产亚洲视频系列| 亚洲18影院在线观看| 国产99久久久久| 91精品国产一区二区| 中文字幕一区二区5566日韩| 日韩电影在线观看电影| 成人av一区二区三区| 欧美一区二区二区| 亚洲三级电影网站| 国产精品18久久久久久久久| 欧美丝袜丝交足nylons图片| 久久精品一级爱片| 日韩av高清在线观看| 色综合久久久久综合体| 久久精品一区蜜桃臀影院| 日韩精品一二三区| 99v久久综合狠狠综合久久| 2014亚洲片线观看视频免费| 亚洲午夜精品一区二区三区他趣| 国产成人精品三级麻豆| 欧美一区二区三区的| 亚洲综合在线视频| 成人黄色电影在线| 亚洲精品一线二线三线| 奇米色一区二区| 欧美日韩在线综合| 亚洲精品国产视频| 成人avav在线| 国产欧美一区二区三区在线看蜜臀| 亚洲动漫第一页| 色狠狠综合天天综合综合| 国产精品嫩草99a| 国产不卡高清在线观看视频| 日韩精品中文字幕在线不卡尤物| 日欧美一区二区| 欧美日韩一区小说| 一区二区三区在线免费观看| av电影在线观看完整版一区二区| 国产亚洲欧美在线| 韩国成人精品a∨在线观看| 欧美一区二区三区日韩视频| 亚洲黄色尤物视频| 91黄视频在线| 亚洲一区二区三区在线| 91传媒视频在线播放| 亚洲一区二区成人在线观看| 日本韩国一区二区三区| 亚洲精品久久7777| 在线一区二区三区四区五区| 亚洲欧美日本韩国| 色婷婷亚洲婷婷| 一区二区三区色| 欧美日韩精品免费观看视频| 亚洲成av人片在线| 欧美一区午夜精品| 乱中年女人伦av一区二区| 亚洲123区在线观看| av日韩在线网站| 亚洲最大成人综合| 精品视频色一区| 免费精品视频最新在线| 欧美大片顶级少妇| 国产福利一区二区三区视频| 中文字幕不卡在线观看| 不卡av在线网| 樱桃国产成人精品视频| 欧美精品一级二级三级| 免费人成在线不卡| 26uuu久久天堂性欧美| 成人免费视频免费观看| 亚洲视频图片小说| 在线看不卡av| 日韩高清不卡一区二区三区| 欧美精品一区二区蜜臀亚洲| 风间由美中文字幕在线看视频国产欧美 | 国产做a爰片久久毛片| 国产精品麻豆视频| 欧美日韩精品综合在线| 国内精品在线播放| 亚洲婷婷综合色高清在线| 欧美日韩久久一区二区| 国产一区二区电影| 亚洲综合在线观看视频| 欧美一区二区三区在| 国产成人免费av在线| 一区二区三区免费网站| 日韩欧美第一区| 91年精品国产| 免费成人在线网站| 综合中文字幕亚洲| 欧美一区二区三区不卡| 成人免费高清在线观看| 日韩国产欧美在线播放| 亚洲欧洲精品天堂一级| 91麻豆精品国产| 99久久久久久| 另类的小说在线视频另类成人小视频在线| 国产日本一区二区| 欧美情侣在线播放| 丰满岳乱妇一区二区三区| 五月天中文字幕一区二区| 国产精品乱码一区二区三区软件| 精品视频999| 99久久婷婷国产综合精品 | 韩国av一区二区| 亚洲国产精品久久久久秋霞影院 | 欧美高清www午色夜在线视频| 成人综合婷婷国产精品久久免费| 午夜国产精品影院在线观看| 国产精品嫩草影院com| 精品久久久久久亚洲综合网| 欧美午夜精品理论片a级按摩| 高清不卡在线观看av|