日期:2014-05-16 浏览次数:20593 次
?
?
用于:java使用jdbc连接不同数据
注: 1.版本:mysql5.5, oracle11g,derby 2.附件:另附连接各种数据立库的驱动(注:derby后续再谈)
?
实例代码在下:
?
package com.qingshan.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.log4j.Logger;
/**
* <pre>
* 得到一个数据连接(connect)
* </pre>
* <hr Color="green" ></hr>
* 2012 Qingshan Group 版权所有
* <hr Color="green" ></hr>
* @author thetopofqingshan
* @version 1.0.0
* @since JDK 1.5
* @date 2012-3-29
*/
public class DatabasesConnect{
private static Logger logger = Logger.getLogger(DatabasesConnect.class.getName());
/*数据库连接的开头*/
public final static String url_mysql = "jdbc:mysql://";
public final static String url_oracle = "jdbc:oracle:thin:@";
public final static String url_derby = "jdbc:derby:";
/*数据库驱动名*/
public final static String driverName_oracle = "oracle.jdbc.driver.OracleDriver";
public final static String driverName_mysql = "com.mysql.jdbc.Driver";
public final static String driverName_derby = "org.apache.derby.jdbc.EmbeddedDriver";
/**
* 所操作的数据库名称
*/
public static String databaseName = "temp";
/**
* 数据库所有机器的ip
*/
public static String ip = "localhost";
/**
* 数据库登陆用户
*/
public static String name = "sys as sysdba";
/**
* 数据库登陆密码
*/
public static String password = "qingshan";
/**
* 构造oracle连接
*/
public static final int oracle = 1;
/**
* 构造oracle连接
*/
public static final int mysql = 0;
/**
* 构造derby连接
*/
public static final int derby = 2;
/**
* 创建数据连接实例
*/
private static Connection conn = null;
/**
* <pre>
* 得到一个数据连接(connect)
* </pre>
* @param pattern 数库类型
* @return 数据库连接
* @throws ClassNotFoundException 数据库驱动包未找到
* @throws SQLException 构造数据库连接实例发生错误
*
*/
public static Connection getConnection(int pattern) throws ClassNotFoundException, SQLException{
//保证数据库连接为单例
if(conn != null){
return conn;
}
StringBuffer url = new StringBuffer();//拼接不同参数
String driverName = null;
if(pattern == 1){
//jdbc:oracle:thin:@localhost:1521:qingshan
url.append(url_oracle);
url.append(ip);
url.append(":1521:");
url.append(databaseName);
driverName = driverName_oracle;
logger.info("connnecting to oracle ....");
}else if(pattern == 0){
url.append(url_mysql);
url.append(ip);
url.append(":3306/");
url.append(databaseName);
driverName = driverName_mysql;
logger.info("connnecting to mysql ....");
}else if(pattern == 2){
url.append(url_derby);
url.append(databaseName+"");
driverName = driverName_derby;
logger.info("connnecting to derby ....");
}
Class.forName(driverName);
conn = DriverManager.getConnection(url.toString(), name, password);
//数据库单例
return conn;
}
}
转载注明原文地址:http://thetopofqingshan.iteye.com/admin/blogs/1504004