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

📄 dbtoolmboard.java

📁 Email营销是在用户事先许可的前提下
💻 JAVA
字号:
/*
 * Created on 2004-4-11
 * Tencent Wap Group
 * JOHN.WANG(huangxiaotao)
 * any problem please forward to RTX 9060 or telephone  8779
 * thx a lot
 */
package com.qq.content;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.qq.util.*;

import javax.sql.DataSource;
import javax.sql.rowset.CachedRowSet;

import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.ConnectionFactory;
import org.apache.commons.dbcp.DriverManagerConnectionFactory;
import org.apache.commons.dbcp.PoolableConnectionFactory;
import org.apache.commons.dbcp.PoolingDataSource;
import org.apache.commons.pool.ObjectPool;
import org.apache.commons.pool.impl.GenericObjectPool;
import com.sun.rowset.CachedRowSetImpl;


public class DBtoolMboard implements Serializable{

	private BasicDataSource ds_gbk;

	private Connection conn = null;
	private  Statement stmt = null;
	private  ResultSet rset = null;
	private String DBuser="root";
	private String DBPass="root";
	private String DBServer="localhost";
	private String DB="db_email";
	
	static {
		try {
			Class.forName("org.gjt.mm.mysql.Driver").newInstance();
			
			}
			catch (Exception e){
				System.out.println("class load error");
				e.printStackTrace();
			}
	}
	/**
	 *  init for core
	 * @throws SQLException
	 */
	public DBtoolMboard() throws SQLException{

	}
	public Connection getConn() throws SQLException{
		return  (ds_gbk.getConnection());
	}

	public DBtoolMboard(String server,String dbname) throws SQLException{
		init(server,dbname);             
	}

	
	public void init(String server,String dbname) throws SQLException{
		System.out.println("new database poolx2 created");
		
		String Url="jdbc:mysql://"+server+":3306/"+dbname+"?useUnicode=true&characterEncoding=gbk";
		
	 	ds_gbk=new BasicDataSource();
		ds_gbk.setDriverClassName("org.gjt.mm.mysql.Driver");
		ds_gbk.setUsername(DBuser);
        ds_gbk.setPassword(DBPass);
        ds_gbk.setUrl(Url);
        ds_gbk.setMinIdle(1);        
	}


	public CachedRowSet queryGBK(String sql) throws SQLException{
		CachedRowSetImpl rs;
		try {
			Class.forName("org.gjt.mm.mysql.Driver").newInstance();
			
			}
			catch (Exception e){
				System.out.println("class load error");
				e.printStackTrace();
			}			
		rs=new CachedRowSetImpl();		
		try { 
        conn = ds_gbk.getConnection();
        stmt = conn.createStatement();
        rset=stmt.executeQuery(sql);
        rs.populate(rset);
        
        System.out.println("gbk pool current active:"+ ds_gbk.getNumActive());
        System.out.println("gbk pool current idel:"+ ds_gbk.getNumIdle());
       }
       catch (Exception e){
       	e.printStackTrace();
       }finally {
        try { rset.close(); } catch(Exception e) { }
        try { stmt.close(); } catch(Exception e) { }
        try { conn.close(); } catch(Exception e) { }
       }
   	return rs;
	}

	public CachedRowSet query(String sql) throws SQLException{		
		return this.queryGBK(sql);
	}

	public void execute(String sql) throws SQLException{
		try {
			Class.forName("org.gjt.mm.mysql.Driver").newInstance();
			
			}
			catch (Exception e){
				System.out.println("class load error");
				e.printStackTrace();
			}
			
		CachedRowSetImpl rs;
		try {
		rs=new CachedRowSetImpl();
		}
		catch (Exception e){
			System.out.println("cachedrowset error!");
			rs=new CachedRowSetImpl();
		}
		
		try { 
        
        conn = ds_gbk.getConnection();        
        stmt = conn.createStatement();        
    	stmt.execute(sql); 
        //stmt.execute(sql);
        System.out.println("gb pool current active:"+ ds_gbk.getNumActive());
        System.out.println("gb pool current idel:"+ ds_gbk.getNumIdle());
       }
       catch (SQLException e){      
       	System.out.println("dbtool executing error:"+sql);
       	throw e;
       }finally {
        try { rset.close(); } catch(Exception e) { }
        try { stmt.close(); } catch(Exception e) { }
        try { conn.close(); } catch(Exception e) { }
       }
       
	}
	
	   public static void printBytes(byte[] array, String name) {
	      for (int k = 0; k < array.length; k++) {
	         System.out.println(name + "[" + k + "] = " + "0x" +
	            UnicodeFormatter.byteToHex(array[k]));
	      }
	   }

	public static void main(String[] args)throws Exception {
	
		
	}

	public final String getDB() {
		return DB;
	}

	public final void setDB(String db) {
		DB = db;
	}

	public final String getDBPass() {
		return DBPass;
	}

	public final void setDBPass(String pass) {
		DBPass = pass;
	}

	public final String getDBServer() {
		return DBServer;
	}

	public final void setDBServer(String server) {
		DBServer = server;
	}

	public final String getDBuser() {
		return DBuser;
	}
	
	public final void setDBuser(String buser) {
		DBuser = buser;
	}
	
	 public static DataSource setupDataSource(String connectURI) {
        ObjectPool connectionPool = new GenericObjectPool(null);
        ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectURI,null);
        PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory,connectionPool,null,null,false,true);
        PoolingDataSource dataSource = new PoolingDataSource(connectionPool);
        return dataSource;
    }
}

⌨️ 快捷键说明

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