- 论坛徽章:
- 0
|
原帖由 快乐的土豆 于 2007-1-16 15:39 发表
绕口令啊.
能不能讲讲具体的场景是什么啊,让我们长长见识.或者,给个代码片断让我们学习学习.
呵呵
是有点绕,具体场景我就不说了
解决办法是这样的
以前的代码
- #A.class
- .....
- DriverManager.registerDriver("your jdbc driver Class name');
- Connection conn = DriverManager.getConnection("your connection url");
- ....
复制代码
修改后的代码
- #A.class
- ....
- URL[] urls = new URL[]{new URL(("your jdbc driver jar path"), new URL("your B class jar path")
- URLClassLoader myClassLoader = new URLClassLoader(urls);
- Object loader = myClasssLoader.loaderClass("your B class name ").newInstance();
- Connection conn = loader.getClass().getMethod("getConnection", new Class[]{ClassLoader.class, String.class}).invoke(loader, new Object[]{myClassLoader, "your connection url");
- .....
复制代码
- #B.class
- ....
- private Connetion conn = null;
- public Connection getConnection(ClassLoader myClassLoader, String url) throw ..........{
- if(conn == null){
- Driver driver = (Driver)myClassLoader.loadClass("your jdbc driver class name") ;
- DriverManage.registerDriver(driver);
- conn = (Connection)DriverManager.getConnection(url);
- }
- return conn;
- }
-
复制代码
我只能写到这样了,呵呵 |
|