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

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

?? databasedblistener.java

?? 這是一款應用程序與數(shù)據(jù)庫聯(lián)接
?? JAVA
字號:
/* ===========================================================
 * JDBMonitor : a flexiable JDBC Monitor for the Java(tm) platform
 * ===========================================================
 *
 * (C) Copyright 2006-2006, by yang zhongke
 *
 * Project Info:  http://www.cownew.com
 *
 * This library is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU Lesser General Public License as published by 
 * the Free Software Foundation; either version 2.1 of the License, or 
 * (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 
 * License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
 * USA.  
 *
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
 * in the United States and other countries.]
 *
 * ---------------
 * DataBaseDBListener.java
 * ---------------
 * (C) Copyright 2006-2006, by yang zhongke
 *
 * Original Author:  yang zhongke;
 *
 * Changes
 * -------
 *
 */
package com.cownew.JDBMonitor.listenerImpl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.cownew.JDBMonitor.common.IDBListener;
import com.cownew.JDBMonitor.common.InstanceUtils;
import com.cownew.JDBMonitor.common.LoggerException;
import com.cownew.JDBMonitor.common.LoggerUtils;
import com.cownew.JDBMonitor.common.SQLInfo;
import com.cownew.JDBMonitor.listenerImpl.dataBaseListener.RandomGUID;

/**
 * <p>this DataBaseDBListener will write the loginfo to database</p>
 * <p>the database to be writen is defined in the "arg" attribute of the "Listener" tag</p>
 * &lt;Listener class=&quot;com.cownew.JDBMonitor.listenerImpl.DataBaseDBListener&quot; <br />
 * arg=&quot;dburl=jdbc:odbc:MQIS;user=;password=;logtable=T_Log_SQLLog&quot;/&gt;<br/>
 * @author yang zhongke
 */
public class DataBaseDBListener implements IDBListener
{
	private String dbUrl ;
	private String user;
	private String password;
	private String logTable;
	private Connection dbConnection;
	String insertSQL;
	public static final String DEFAULTSQLLOGTABLE = "T_Log_SQLLog";

	public DataBaseDBListener()
	{
		super();		
	}

	public void init(String arg) throws LoggerException
	{
		//not dburl=(.+);?(user=.*;password=.*;)?(logtable=.+)?
		//because "+" in regular express is greedy.so add ? after + to make it lazy   
		Pattern patAll = Pattern.compile("dburl=(.+?);?(user=.*;password=.*;)?(logtable=.+)?");
		Matcher matAll = patAll.matcher(arg);
		if(!matAll.matches())
		{
			throw new LoggerException("Invalid argument:"+arg);
		}
		dbUrl = matAll.group(1);
		String userPwd = matAll.group(2);
		
		String logTableAll = matAll.group(3);
		if(logTableAll!=null&&logTableAll.trim().length()>0)
		{
			Pattern patLogTableAll = Pattern.compile("logtable=(.+)");
			Matcher matLogTable = patLogTableAll.matcher(logTableAll);
			matLogTable.matches();
			logTable = matLogTable.group(1);
		}
		else
		{
			logTable = DEFAULTSQLLOGTABLE;
		}
		
		if (userPwd != null && userPwd.trim().length() > 0)
		{
			Pattern patUserPwd = Pattern.compile("user=(.*);password=(.*);");
			Matcher matUserPwd = patUserPwd.matcher(userPwd);
			if (!matUserPwd.matches())
			{
				throw new LoggerException("Invalid argument:" + arg);
			}

			user = matUserPwd.group(1);
			password = matUserPwd.group(2);
		}
		
		try
		{
			if(user!=null&&user.trim().length()>0)
			{
			    dbConnection = DriverManager.getConnection(dbUrl,user,password);
			}
			else
			{
				dbConnection = DriverManager.getConnection(dbUrl);
			}
		} catch (SQLException e)
		{
			throw LoggerUtils.toLoggerException(e);
		}		
		
		StringBuffer sbSQL = new StringBuffer();
		sbSQL.append("insert into ").append(logTable)
		    .append("(FID,FBeginTime,FEndTime,FSQL,FSQLType,FParameters)\n");
		sbSQL.append("values(?,?,?,?,?,?)");
		insertSQL = sbSQL.toString();
	}

	public void logSql(SQLInfo info) throws LoggerException
	{
		
		PreparedStatement logStatement = null;
		try
		{
			logStatement = dbConnection.prepareStatement(insertSQL);
			logStatement.setString(1,new RandomGUID().toString());
			logStatement.setTimestamp(2,info.getBeginTime());
			logStatement.setTimestamp(3,info.getEndTime());
			logStatement.setString(4,info.getSql());
			logStatement.setInt(5,info.getSqlType().getValue());
			logStatement.setString(6,info.getParameters().toString());
			logStatement.execute();
		} catch (SQLException e)
		{
			throw LoggerUtils.toLoggerException(e);
		}
		finally
		{
			InstanceUtils.closeStatement(logStatement);
		}
	}
	
	protected void finalize() throws Throwable
	{
		super.finalize();
		
		if (dbConnection != null)
		{
			dbConnection.close();
		}

	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色偷偷久久一区二区三区| 色婷婷一区二区三区四区| 一级精品视频在线观看宜春院| 精品88久久久久88久久久| 欧美精品一卡两卡| 欧美电影一区二区三区| 欧美久久久久中文字幕| 日韩亚洲国产中文字幕欧美| 91精品蜜臀在线一区尤物| 日韩一区二区三区av| 欧美成人猛片aaaaaaa| 久久久久久久久久久久电影 | 国产精品污网站| 欧美激情一区二区在线| 中文字幕中文字幕一区二区| 综合av第一页| 日韩国产精品久久久| 青青国产91久久久久久 | av不卡免费在线观看| 日本精品视频一区二区| 777久久久精品| 久久综合五月天婷婷伊人| 国产网站一区二区| 亚洲人快播电影网| 五月婷婷激情综合| 国产精品亚洲综合一区在线观看| 成人av网站免费观看| 一本大道综合伊人精品热热| 欧美一区二区三区成人| 欧美国产综合色视频| 一区二区三区91| 国产乱码精品一区二区三区忘忧草| 成人午夜免费av| 欧美日韩国产色站一区二区三区| 欧美本精品男人aⅴ天堂| 中文字幕中文字幕在线一区| 免费观看91视频大全| 成人免费高清在线| 91精品国产黑色紧身裤美女| 国产欧美精品一区二区色综合朱莉| 亚洲一区二区三区在线播放| 精品影院一区二区久久久| 91啪亚洲精品| 26uuu亚洲| 亚洲午夜精品网| 成人99免费视频| 日韩欧美中文字幕精品| 亚洲欧美视频在线观看| 国产高清在线观看免费不卡| 4hu四虎永久在线影院成人| √…a在线天堂一区| 精品中文字幕一区二区| 欧美在线免费视屏| 亚洲国产精品成人综合色在线婷婷 | 日韩国产一区二| 99vv1com这只有精品| 国产色一区二区| 久久精品免费观看| 337p亚洲精品色噜噜噜| 亚洲欧美另类小说| 成人伦理片在线| 久久久久久久久伊人| 国产综合久久久久久久久久久久 | 天天综合网天天综合色| 日本精品一区二区三区四区的功能| 亚洲国产精品成人综合| 国产福利91精品| 亚洲精品一区二区三区香蕉| 蜜桃精品视频在线| 日韩精品一区二区三区四区视频 | 亚洲国产成人高清精品| 不卡视频免费播放| 国产精品免费丝袜| a级精品国产片在线观看| 国产精品乱码一区二三区小蝌蚪| 国产精品2024| 国产精品三级久久久久三级| 国产成人免费在线观看| 国产精品女同互慰在线看| 国产1区2区3区精品美女| 久久久精品欧美丰满| 国产成人亚洲综合a∨婷婷图片| 久久免费精品国产久精品久久久久| 九一九一国产精品| 久久先锋影音av| 懂色一区二区三区免费观看| 国产精品九色蝌蚪自拍| 91蝌蚪国产九色| 夜夜精品视频一区二区 | 夜夜嗨av一区二区三区中文字幕| 欧美午夜影院一区| 日本一区中文字幕| 亚洲精品在线一区二区| 成人精品视频一区二区三区| 亚洲欧美日韩国产中文在线| 91成人在线观看喷潮| 日韩国产欧美三级| 久久久久国产精品免费免费搜索| 国产成人8x视频一区二区| 成人欧美一区二区三区白人| 在线观看免费视频综合| 麻豆精品一区二区综合av| 久久精品欧美一区二区三区麻豆| 91免费视频大全| 青青草原综合久久大伊人精品| 久久精品一级爱片| 欧美亚日韩国产aⅴ精品中极品| 日韩精品一卡二卡三卡四卡无卡| 亚洲精品一区二区三区精华液 | 777午夜精品免费视频| 国产精品一区专区| 亚洲一区视频在线观看视频| 精品少妇一区二区三区视频免付费 | 亚洲乱码日产精品bd| 欧美一区二区在线播放| 成人深夜视频在线观看| 午夜精品久久久久久久| 久久综合久久综合九色| 色狠狠桃花综合| 国产999精品久久久久久绿帽| 一区二区三区欧美久久| 久久精品人人做人人综合| 欧美天堂亚洲电影院在线播放| 国产精品综合一区二区三区| 亚洲午夜久久久久中文字幕久| 国产欧美视频一区二区| 宅男噜噜噜66一区二区66| 91亚洲精品久久久蜜桃网站| 久久精品国产亚洲一区二区三区| 亚洲精品国产第一综合99久久 | 国产欧美综合在线观看第十页| 欧美综合亚洲图片综合区| 国产成人丝袜美腿| 老司机一区二区| 日韩中文字幕av电影| 亚洲裸体xxx| 中文字幕字幕中文在线中不卡视频| 日韩亚洲欧美中文三级| 欧美日本在线观看| 欧美视频中文字幕| 波多野结衣在线一区| 成人在线综合网站| 福利电影一区二区三区| 国产成人日日夜夜| 成人午夜av在线| 国产高清在线观看免费不卡| 国产精品影视在线观看| 国产精品亚洲第一区在线暖暖韩国| 不卡av免费在线观看| 99久久伊人精品| 99久久久久久| 色视频欧美一区二区三区| 91免费国产在线| 欧美午夜不卡视频| 欧美日韩一区二区不卡| 欧美日韩高清影院| 7777精品伊人久久久大香线蕉 | 亚洲综合色成人| 亚洲精品国久久99热| 亚洲综合一区在线| 五月天婷婷综合| 久久国产精品第一页| 国产一区视频网站| 国产大陆亚洲精品国产| 风流少妇一区二区| 99国产精品久久久久久久久久| 在线免费av一区| 欧美一区二区高清| 国产丝袜美腿一区二区三区| 亚洲欧美电影院| 日韩国产精品大片| 国产精品综合av一区二区国产馆| 成人妖精视频yjsp地址| 91无套直看片红桃| 欧美精品tushy高清| 久久精品视频网| 一个色综合av| 久久av资源站| 91在线国内视频| 51精品秘密在线观看| 国产三级精品三级| 亚洲一区成人在线| 精品在线亚洲视频| 色婷婷综合久久久中文字幕| 91精品国产福利在线观看| 久久久精品国产99久久精品芒果| 一区二区三区四区不卡视频| 免费欧美高清视频| 99精品视频在线观看免费| 制服丝袜一区二区三区| 中文字幕免费一区| 五月婷婷激情综合网| 成人午夜av影视| 日韩欧美国产一区二区在线播放 | 精品视频在线看| 国产欧美视频一区二区三区| 亚欧色一区w666天堂| 高清在线不卡av| 在线综合亚洲欧美在线视频| 这里只有精品免费|