jdbc接连数据库:oracle/derby/mysql
?
?
用于:java使用jdbc连接不同数据
注:1.版本:mysql5.5, oracle11g,derby2.附件:另附连接各种数据立库的驱动(注: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:qingshanurl.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