ConnectionFactory类
程序代码
package com.zb.test;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class ConnectionFactory {
private static String driver;
private static String dburl;
private static String user;
private static String password;
private static String datasource;
private Connection conn;
private static final ConnectionFactory factory = new ConnectionFactory();
private static final Log log = LogFactory.getLog(ConnectionFactory.class);
static {
Properties prop = new Properties();
try {
InputStream in = ConnectionFactory.class.getClassLoader().getResourceAsStream("dbconfig.properties");
prop.load(in);
} catch (Exception e) {
System.out.println("IO�ERROR,dbconfig.properties!");
}
datasource = prop.getProperty("datasource", "");
driver = prop.getProperty("driver");
dburl = prop.getProperty("dburl", "");
user = prop.getProperty("user", "");
password = prop.getProperty("password", "");
datasource = prop.getProperty("datasource", "");
}
private ConnectionFactory() {
}
public static ConnectionFactory getInstance() {
return factory;
}
/**
* 数据库链接工厂
*
* @return connection
*/
public Connection createConnection() {
if (!"".equals(datasource)) {
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(datasource);
conn = ds.getConnection();
return conn;
} catch (NamingException e) {
log.info("No found DataSource");
e.printStackTrace();
} catch (SQLException e) {
log.info("get connection failure");
e.printStackTrace();
}
} else {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
log.info("loader Class ERROR or No found Class");
e.printStackTrace();
}
try {
conn = DriverManager.getConnection(dburl, user, password);
} catch (SQLException e) {
log.info("get connection failure");
e.printStackTrace();
}
}
return conn;
}
}
配置文件内容:
![程序代码](https://i-blog.csdnimg.cn/blog_migrate/46090f14d223b67b675f9ce652d025a5.png)
package com.zb.test;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class ConnectionFactory {
private static String driver;
private static String dburl;
private static String user;
private static String password;
private static String datasource;
private Connection conn;
private static final ConnectionFactory factory = new ConnectionFactory();
private static final Log log = LogFactory.getLog(ConnectionFactory.class);
static {
Properties prop = new Properties();
try {
InputStream in = ConnectionFactory.class.getClassLoader().getResourceAsStream("dbconfig.properties");
prop.load(in);
} catch (Exception e) {
System.out.println("IO�ERROR,dbconfig.properties!");
}
datasource = prop.getProperty("datasource", "");
driver = prop.getProperty("driver");
dburl = prop.getProperty("dburl", "");
user = prop.getProperty("user", "");
password = prop.getProperty("password", "");
datasource = prop.getProperty("datasource", "");
}
private ConnectionFactory() {
}
public static ConnectionFactory getInstance() {
return factory;
}
/**
* 数据库链接工厂
*
* @return connection
*/
public Connection createConnection() {
if (!"".equals(datasource)) {
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(datasource);
conn = ds.getConnection();
return conn;
} catch (NamingException e) {
log.info("No found DataSource");
e.printStackTrace();
} catch (SQLException e) {
log.info("get connection failure");
e.printStackTrace();
}
} else {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
log.info("loader Class ERROR or No found Class");
e.printStackTrace();
}
try {
conn = DriverManager.getConnection(dburl, user, password);
} catch (SQLException e) {
log.info("get connection failure");
e.printStackTrace();
}
}
return conn;
}
}
配置文件内容: