jdbc连接公共方法

package com.jdbc.util;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSource;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;

public class JdbcUtil {

	private static Logger LOG = LogManager.getLogger(JdbcUtil.class);

	private static String driver = null;
	private static String uri = null;
	private static String username = null;
	private static String password = null;
	private static DataSource dataSource = null;

	static {
		Configuration conf = Configuration.getInstance();
		driver = conf.getString("db.driver", "com.mysql.jdbc.Driver");
		uri = conf.getString("db.uri", "");
		username = conf.getString("db.username", "");
		password = conf.getString("db.password", "");
		getDataSource();
	}

	private static void getDataSource() {
		BasicDataSource ds = new BasicDataSource();
		ds.setDriverClassName(driver);
		ds.setUsername(username);
		ds.setPassword(password);
		ds.setUrl(uri);
		ds.setMaxActive(30);
		ds.setMaxIdle(100);
		ds.setMaxWait(1000);
		dataSource = ds;
	}
	
	public static void releaseDataSource(DataSource ds){  
		BasicDataSource bds = (BasicDataSource) ds;  
		if(bds != null)
			try{
				bds.close();
			}catch(Exception e){
				LOG.error("releaseDataSource :" + e);
			}
	}
	
	public static Connection getConnection(){
		try{
			Connection conn = dataSource.getConnection();
			return conn;
		}catch(Exception e){
			LOG.error("get connection :" + e);
		}
		return null;
	}
	
	public static void close(Connection c, Statement s, ResultSet r) {
		try {
			if (r != null)
				r.close();
			if (s != null)
				s.close();
			if (c != null)
				c.close();
		} catch (Exception e) {
			LOG.error("close connection:" + e);
		}
	}

	public static void close(Connection c, PreparedStatement s, ResultSet r) {
		try {
			if (r != null)
				r.close();
			if (s != null)
				s.close();
			if (c != null)
				c.close();
		} catch (Exception e) {
			LOG.error("close connection :" + e);
		}
	}

	public static void main(String args[]) throws Exception{
		Connection conn = getConnection();
		Statement s = conn.createStatement();
		ResultSet r = s.executeQuery("select cid from company");
		while (r.next()) {
			//System.out.println(r.getString("cid"));
			LOG.info(r.getString("cid"));
		}
		close(conn,s,r);
	}
}

 

package com.jdbc.util;

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;

public class Configuration extends Properties {
	
	private static final long serialVersionUID = 5044046358027224342L;
	
	private static Configuration instance = null;
	public static Configuration getInstance(){ 
		if(instance == null){ 
			synchronized (Configuration.class) {
				if(instance == null){					
					instance = new Configuration(); 
				}
			}
		} 
		return instance; 
	}
	
	public String getProperty(String key, String defaultValue) {
		String val = getProperty(key);
		return (val == null || val.isEmpty()) ? defaultValue : val;
	}
	  
	public String getString(String name, String defaultValue) {
		return this.getProperty(name, defaultValue);
	}
	
	public int getInt(String name, int defaultValue) {
		String val = this.getProperty(name);
		return (val == null || val.isEmpty()) ? defaultValue : Integer.parseInt(val);
	}
	
	public long getLong(String name, long defaultValue) {
		String val = this.getProperty(name);
		return (val == null || val.isEmpty()) ? defaultValue : Integer.parseInt(val);
	}
	
	public float getFloat(String name, float defaultValue) {
		String val = this.getProperty(name);
		return (val == null || val.isEmpty()) ? defaultValue : Float.parseFloat(val);
	}
	
	public double getDouble(String name, double defaultValue) {
		String val = this.getProperty(name);
		return (val == null || val.isEmpty()) ? defaultValue : Double.parseDouble(val);
	}
	
	public byte getByte(String name, byte defaultValue) {
		String val = this.getProperty(name);
		return (val == null || val.isEmpty()) ? defaultValue : Byte.parseByte(val);
	}

	public Configuration() {
		InputStream in = ClassLoader.getSystemClassLoader().getResourceAsStream("config.xml");
		try {
			this.loadFromXML(in);
			in.close();
		} catch (Exception e) {
			LogUtil.e(Configuration.class, e);
		}
	}
	
	public Configuration(String path) throws Exception {
		InputStream in = new FileInputStream(path+"config.xml");
		try {
			this.loadFromXML(in);
			in.close();
		} catch (Exception e) {
			LogUtil.e(Configuration.class, e);
		}
	}
	
	public static void main(String[] args) throws Exception {
		String path = Configuration.getInstance().getString("conf.dir", "/home/html/webim/src/lib/");
		while(true){
			Configuration config = new Configuration(path);	
			System.out.println(config.getString("proxy.downstream.list", ""));
			Thread.sleep(3000);
		}
	}
}

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	
	<entry key="db.driver">com.mysql.jdbc.Driver</entry>
	<entry key="db.uri">jdbc:mysql://192.168.0.243:3306/webim?characterEncoding=UTF-8&autoReconnect=true</entry>
	<entry key="db.username">root</entry>
	<entry key="db.password">123456</entry>
	
</properties>

 

#设置日志级别
log4j.rootLogger = E,D,C

#输出到控制台
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.out
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n

#输出到日志文件【调试信息】
log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File=D:/home/java/text/logs/debug.log
log4j.appender.D.Append=true
log4j.appender.D.Threshold=DEBUG
log4j.appender.D.layout=org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [%t:%r] - [%p]  %m%n

#输出到日志文件【错误信息】
log4j.appender.E=org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File=D:/home/java/text/logs/error.log
log4j.appender.E.Append=true
log4j.appender.E.Threshold=ERROR
log4j.appender.E.layout=org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [%t:%r] - [%p]  %m%n  %x - %m%n

## 屏蔽其他包(框架)的输出日志  
log4j.logger.io.netty=OFF

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值