jdbcfactory.java

来自「用java开发的一些实用的短信通信模块其中包含MD5加密、http发送等信息」· Java 代码 · 共 84 行

JAVA
84
字号
package lib.commons.dal;

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

import org.apache.commons.logging.Log;

import lib.commons.Utils;

public class JDBCFactory extends DbAccessFactory {
	private String driver;

	private String url;

	private String user;

	private String password;

	private Object lockObject = new Object();

	private boolean isInit;

	public JDBCFactory(String driver, String url, String user, String password) {
		super(null);
		this.driver = driver;
		this.url = url;
		this.user = user;
		this.password = password;
	}

	public JDBCFactory(Properties properties) {
		super(properties);
		if (null != properties) {
			driver = properties.getProperty("driverClassName");
			url = properties.getProperty("url");
			user = properties.getProperty("username");
			password = properties.getProperty("password");
		}
	}

	public String getDriver() {
		return driver;
	}

	public String getUrl() {
		return url;
	}

	public String getUser() {
		return user;
	}

	public String getPassword() {
		return password;
	}

	protected DbAccess createDbAccess() {
		if (!isInit) {
			synchronized (lockObject) {
				if (!isInit) {
					try {
						Class.forName(driver);
					} catch (ClassNotFoundException err) {
						Log log = Utils.getLog(JDBCFactory.class);
						log.error(err.getMessage(), err);
					}
					isInit = true;
				}
			}
		}
		DbAccess db = null;
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(url, user, password);
		} catch (SQLException err) {
			Log log = Utils.getLog(JDBCFactory.class);
			log.error(err.getMessage(), err);
		}
		db = new DbAccess(conn);
		return db;
	}
}

⌨️ 快捷键说明

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