用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

连接数据库的方法(Oracle DB2 SQL Server MySQL...)

2012-11-16 作者: 程序猿style举报

[java]代码库

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

/**
 * 连接各类数据库的方法
 */
public class DBConnector {
	/**
	 * 获得数据库连接
	 * 
	 * @param driverClassName
	 *            连接数据库用到的驱动类的类名
	 * @param dbURL
	 *            数据库的URL
	 * @param userName
	 *            登陆数据库的用户名
	 * @param password
	 *            登陆数据库的密码
	 * @return
	 * @throws ClassNotFoundException
	 * @throws SQLException
	 */
	public static Connection getConnection(String driverClassName,
			String dbURL, String userName, String password)
			throws ClassNotFoundException, SQLException {
		Connection con = null;

		// 加载连接数据库的驱动类
		Class.forName(driverClassName);
		// 用用户名、密码连接数据库
		con = DriverManager.getConnection(dbURL, userName, password);

		return con;
	}

	/**
	 * 获得Oracle数据库的连接
	 * 
	 * @param dricerClassName
	 *            连接数据库用到的驱动类的类名
	 * @param serverHost
	 *            数据库所在服务器的IP或域名
	 * @param serverPort
	 *            数据库所在服务器的端口
	 * @param dbName
	 *            数据库名
	 * @param userName
	 *            登陆数据库的用户名
	 * @param password
	 *            登陆数据库的密码
	 * @return
	 * @throws ClassNotFoundException
	 *             数据库驱动类无法找到是抛出该异常
	 * @throws SQLException
	 *             创建连接时可能抛出该异常
	 */
	public static Connection getOracleConnection(String dricerClassName,
			String serverHost, String serverPort, String dbName,
			String userName, String password) throws ClassNotFoundException,
			SQLException {
		// 如果没有提供这些连接参数,则用默认值
		if (dricerClassName == null) {
			dricerClassName = "oracle.jdbc.driver.OracleDriver";
		}
		if (serverHost == null) {
			serverHost = "127.0.0.1";
		}
		if (serverPort == null) {
			serverPort = "1521";
		}
		// 构建访问Oracle数据库的URL
		String dbURL = "jdbc:oracle:thin:@" + serverHost + ":" + serverPort
				+ ":" + dbName;
		return getConnection(dricerClassName, dbURL, userName, password);
	}

	/**
	 * 获得DB2数据库的连接
	 */
	public static Connection getDB2Connection(String dricerClassName,
			String serverHost, String serverPort, String dbName,
			String userName, String password) throws ClassNotFoundException,
			SQLException {
		// 如果没有提供这些连接参数,则用默认值
		if (dricerClassName == null) {
			dricerClassName = "com.ibm.db2.jdbc.app.DB2Driver";
		}
		if (serverHost == null) {
			serverHost = "127.0.0.1";
		}
		if (serverPort == null) {
			serverPort = "5000";
		}
		// 构建访问DB2数据库的URL
		String dbURL = "jdbc:db2://" + serverHost + ":" + serverPort + "/"
				+ dbName;
		return getConnection(dricerClassName, dbURL, userName, password);
	}

	/**
	 * 获得SQL Server数据库的连接
	 */
	public static Connection getSQLServerConnection(String dricerClassName,
			String serverHost, String serverPort, String dbName,
			String userName, String password) throws ClassNotFoundException,
			SQLException {
		// 如果没有提供这些连接参数,则用默认值
		if (dricerClassName == null) {
			dricerClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
		}
		if (serverHost == null) {
			serverHost = "127.0.0.1";
		}
		if (serverPort == null) {
			serverPort = "1433";
		}
		// 构建访问SQL Server数据库的URL
		String dbURL = "jdbc:microsoft:sqlserver://" + serverHost + ":"
				+ serverPort + "; DatabaseName=" + dbName;
		return getConnection(dricerClassName, dbURL, userName, password);
	}

	/**
	 * 获得MySQL数据库的连接
	 */
	public static Connection getMySQLConnection(String dricerClassName,
			String serverHost, String serverPort, String dbName,
			String userName, String password) throws ClassNotFoundException,
			SQLException {
		// 如果没有提供这些连接参数,则用默认值
		if (dricerClassName == null) {
			dricerClassName = "com.mysql.jdbc.Driver";
		}
		if (serverHost == null) {
			serverHost = "127.0.0.1";
		}
		if (serverPort == null) {
			serverPort = "3306";
		}
		// 构建访问SQL Server数据库的URL
		String dbURL = "jdbc:mysql://" + serverHost + ":" + serverPort + "/"
				+ dbName;
		return getConnection(dricerClassName, dbURL, userName, password);
	}

	/**
	 * 获得Sybase数据库的连接
	 */
	public static Connection getSybaseConnection(String dricerClassName,
			String serverHost, String serverPort, String dbName,
			String userName, String password) throws ClassNotFoundException,
			SQLException {
		// 如果没有提供这些连接参数,则用默认值
		if (dricerClassName == null) {
			dricerClassName = "com.sybase.jdbc3.jdbc.SybDriver";
		}
		if (serverHost == null) {
			serverHost = "127.0.0.1";
		}
		if (serverPort == null) {
			serverPort = "5007";
		}
		// 构建访问SQL Server数据库的URL
		String dbURL = "jdbc:sybase:Tds:" + serverHost + ":" + serverPort + "/"
				+ dbName;
		return getConnection(dricerClassName, dbURL, userName, password);
	}

	/**
	 * 获得PostgreSQL数据库的连接
	 */
	public static Connection getPostgreSQLConnection(String dricerClassName,
			String serverHost, String serverPort, String dbName,
			String userName, String password) throws ClassNotFoundException,
			SQLException {
		// 如果没有提供这些连接参数,则用默认值
		if (dricerClassName == null) {
			dricerClassName = "org.postgresql.Driver";
		}
		if (serverHost == null) {
			serverHost = "127.0.0.1";
		}
		if (serverPort == null) {
			serverPort = "5432";
		}
		// 构建访问SQL Server数据库的URL
		String dbURL = "jdbc:postgresql://" + serverHost + ":" + serverPort
				+ "/" + dbName;
		return getConnection(dricerClassName, dbURL, userName, password);
	}

	public static void main(String[] args) throws ClassNotFoundException,
			SQLException {
		// 获得本地MySQL的连接实例,使用MySQL需要去www.mysql.com下载最新的MySQL安装程序和Java驱动
		// MySQL有多个连接MySQL的驱动类,如org.gjt.mm.mysql.Driver。
		// 这里使用MySQL官方网站上提供的驱动类
		String mySQLDirver = "com.mysql.jdbc.Driver";
		String dbName = "studentdb";
		String userName = "test";
		String password = "test";
		Connection con = DBConnector.getMySQLConnection(mySQLDirver, null,
				null, dbName, userName, password);
		System.out.println("连接MySQL数据库成功!");
		con.close();
		System.out.println("成功关闭与MySQL数据库的连接!");
		String url = "jdbc:mysql://127.0.0.1:3306/" + dbName;
		con = DBConnector.getConnection(mySQLDirver, url, userName, password);
		System.out.println("连接MySQL数据库成功!");
		con.close();
		System.out.println("成功关闭与MySQL数据库的连接!");
	}
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...