装载驱动

在你试图与数据库连接之前,你需要装载驱动.有两种方法,那种更好取决于你使用的代码.

在第一种方法里,你的代码用 Class.forName() 方法显式装载驱动.对于 Postgres,你要用:

Class.forName("postgresql.Driver");
这样将装载驱动,并且在装载时,驱动将自动与 JDBC 注册自己.

注意:forName() 方法可以抛出一个 ClassNotFoundException,所以如果驱动不可获得时你需要捕获它.

这是最常用的方法,但是把你的代码限制于 Postgres 专用.如果你的代码以后还要访问其他数据库,并且你不想使用我们的扩展,那么第二种方法可用.

第二种方法把驱动做为参数在 JVM 启动时传递给它,使用 -D 参数.

% java -Djdbc.drivers=postgresql.Driver example.ImageViewer
在这个例子里,JVM 将试图把驱动作为它的初始化的一部分装载.一旦完成,启动 ImageViewer。

现在,这个方法是一个更好的手段,因为它允许你的代码用于其他数据库,而不用重新编译代码.唯一要修改的东西是 URL,我们下面要提到.

最后一件事情.当你的代码试图打开一个联接,而且你收到一个抛出的 No driver available SQLException 例外,这可能是因为驱动不在 classpath (类路径)里,或者参数值不正确.