主要描述如何在程序里装载和初始化JDBC驱动。
导入JDBC
任何使用JDBC的源程序都需要输入java.sql包。
import java.sql.*;
装载驱动
在于数据库连接之前,需要装载驱动。有两种方法,哪种更好取决于使用的代码。
代码用Class.forName()方法明确地装载驱动。对于UXDB需要使用:
Class.forName("com.uxsino.uxdb.Driver");
来装载驱动,并且在装载时,驱动将自动在JDBC注册。
forName()方法可能抛出一个ClassNotFoundException,所以如果驱动不可获得时需要捕获它。
这是最常用的方法,但是会把代码限制于UXDB专用。如果代码以后还要访问其他数据库,并且不想使用任何UXDB相关的扩展,那么还有第二种方法可用。
把驱动做为参数在JVM启动时传递给它,使用-D参数。比如:
java -D jdbc.drivers= com.uxsino.uxdb.Driver example.ImageViewer
在这个例子里,JVM将试图把驱动作为它的初始化的一部分装载。 一旦完成,启动ImageViewer:
现在这个方法更好一点,因为它允许代码用于其他数据库,而不用重新编译代码。唯一要修改的东西是URL。
当代码试图打开一个Connection,而收到一个抛出的No driver available SQLException,这可能是因为驱动不在类路径里,或者参数值不正确。
数据库连接
在JDBC里,数据库是用URL(Uniform Resource Locator统一资源定位符)表示的。在UXDB中,可以由下面几种格式之一表示:
jdbc:uxdb:database
jdbc:uxdb://host/database
jdbc:uxdb://host:port/database
表?4.1.?数据库连接参数
名称 | 含义 |
---|---|
host | 服务器的主机名。缺省是localhost。要想声明一个IPv6的地址,必须把host参数用方括弧包围起来,比如:jdbc:uxdb://[::1]:5740/accounting |
port | 服务器监听的端口号。缺省时是UXDB标准的端口号(5432) |
database | 数据库名 |
要连接数据库,需要从JDBC获取一个Connection实例,会用到DriverManager.getConnection()方法。
Connection conn = DriverManager.getConnection(url, username, password);
关闭连接
关闭数据库连接,只需要对Connection调用close()方法:
conn.close();