public class Contion implements java.sql.Connection {
}

解决方案 »

  1.   

    原则上是可以的。但是不应该这么做。原因:
    jdbc实际上使用Driver为入口的一个抽象工厂实现,要开发一个jdbc实现,应该从Driver入手,其中最重要的方法
    boolean acceptsURL(String url) throws SQLException;
    DiverManager.getConnection方法挨个调用已经注册过的Driver(DriverManager.registerDriver()或者Class.forName()一样,因为现在流行的jdbc实现都在DriverImpl中的static块中调用的DriverManager.registerDriver(),这样DriverManager就有一个其维护的Driver实现列表)的accepts方法,传入url,DriverImpl检测其自己能否识别该url,如果能够识别该url,则说明应该使用该DriverImpl,否则再检测下一个,如果都不能识别则报“No suitable driver”,如果有能够识别该url的DriverImpl,则继续调用该DriverImpl的connect(如下)
    Connection connect(String url, java.util.Properties info)
            throws SQLException;
    该方法返回ConnectionImpl.明白上面的流程以后就可以知道不应该直接实例化Connection,因为可能你使用的jdbc驱动实现其实现的Connection根本就不是你所能够在外面调的,如是一个非public的类,甚至可能是一个inner class
      

  2.   

    当然Driver实现connect方法时也可能会解析该url看自己能否识别
      

  3.   

    不好意思,DriverManager.getConnection好象没有按照上面方法运行,是直接挨个调用connect,当然假如不能解析该url,当然就不会返回ConnectionImpl了。是这个样子的,而acceptsURL是Drivermnager.getDriver来调用的:)