package com.reflect.load; import java.net.URL; import java.net.URLClassLoader; import java.sql.Connection; import java.sql.Driver; import java.util.Properties; /** * 文件里的URL * file: 表示从本地文件系统加载 * http: 表明从互联网通过HTTP访问来加载 * ftp: 表明从互联网通过FTP访问来加载 * @author yulei * */ public class URLClassLoaderTest { private static Connection conn; //定义一个获取数据库连接的方法 public static Connection getConn(String url,String user,String pass) throws Exception{ if(conn==null){ //创建一个URL数组 URL[] urls={new URL("file:F:/workjar/springjar/mysql-connector-java-5.0.8-bin.jar")}; //以默认的ClassLoader作为父ClassLoader创建URLClassLoader URLClassLoader myClassLoader=new URLClassLoader(urls); //加载MySQL的JDBC驱动,并创建默认实例 Driver driver=(Driver) myClassLoader.loadClass("com.mysql.jdbc.Driver").newInstance(); //创建一个设置JDBC连接属性的Properties对象 Properties props=new Properties(); props.setProperty("user", user); props.setProperty("password", pass); //调用Driver对象的connect方来取得数据库连接 conn=driver.connect(url, props); } return conn; } public static void main(String[] args) throws Exception { System.out.println(getConn("jdbc:mysql://localhost:3306/test","root","root")); } }