jdbcconnection.java

来自「一个简单的java web项目 基于servlet构建」· Java 代码 · 共 84 行

JAVA
84
字号
package cn.dongsw.dao;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;

public class JdbcConnection {
	private static final String JDBC_CONF_FILE = "/conf/jdbc.properties";
	private static PropertiesConfiguration config = null;
	private BasicDataSource ds;
	public void init(){
		String absolutePath = 
			PropertiesConfiguration.class.getResource(JDBC_CONF_FILE).getFile();
		try {
			config = new PropertiesConfiguration(absolutePath);
			String driver = config.getString("jdbc.driver");
			String url = config.getString("jdbc.url");
			String user = config.getString("jdbc.user");
			String pwd = config.getString("jdbc.pwd");
			Properties dbcpProperties = new Properties();

			dbcpProperties.put("driverClassName", driver);
			dbcpProperties.put("url", url);
			dbcpProperties.put("username", user);
			dbcpProperties.put("password", pwd);
			
			ds = (BasicDataSource) BasicDataSourceFactory.createDataSource(dbcpProperties);
			
			Connection conn = ds.getConnection();
			conn.close();

			// Log pool statistics before continuing.
		} catch (Exception e) {
			if (ds != null) {
				try {
					ds.close();
				} catch (Exception e2) {
					// ignore
				}
				ds = null;
			}
		}
	}
	
	public Connection getConnection(){
		Connection conn = null;
		try {
			if(ds==null)
				init();
			conn = ds.getConnection();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			conn = null;
			e.printStackTrace();
		}
		return conn;
	}
	
	public void closeConnection(Connection conn) throws SQLException {
		try {
			conn.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			conn = null;
			e.printStackTrace();
		}
	}
	
	public void close() {
		try {
			if (ds != null) {
				ds.close();
				ds = null;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

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