近来想做一个SWING界面的数据库管理软件,就是类似于PLSQL的软件(PLSQL非常完美,可惜只支持ORACLE)。由于要兼容的数据库类型众多,但还好,所有这些数据库类型都提供了对JDBC的支持,所以,这要有这些个数据库的驱动,理论上来说就可以做到多种数据库支持的目的!

    但是,迎面而来的问题,就是如何动态的加载这些驱动!不可能把所有的数据库驱动都集成到JAR包中吧?!于是动态加载驱动的JAR包就产生了!其实这些在做系统基础代码时,经常用到,只是一般我们没有机会去搞而已。

    动态加载JAR包,使用JAR包里的类,代码如下:


package org;

import java.io.File;
import java.net.URL;
import java.net.URLClassLoader;
import java.sql.Connection;
import java.sql.Driver;
import java.util.Properties;

public class Test
{
	public static void main(String[] args) throws Exception
	{
		File file = new File("/root/workspace/RPT2.9SP1/WebContent/WEB-INF/lib/ojdbc14.jar");
		URLClassLoader loader = new URLClassLoader(new URL[] { file.toURI().toURL() });
		Class clazz = loader.loadClass("oracle.jdbc.driver.OracleDriver");
		Driver driver = (Driver) clazz.newInstance();
		Properties p = new Properties();
		p.put("user", "newrpt_plt");
		p.put("password", "newrpt_plt");
		Connection con = driver.connect("jdbc:oracle:thin:@10.0.1.204:1521:lgdnew", p);
		System.out.println(con);
	}
}

    简单吧!!想加载几个JAR包就在URL[]数组中增加几个,那个叫爽啊!有了这个,你也可以写系统基础代码了!