Java 数据库连接(JDBC)是Java平台中的一个核心API,用于与各种关系型数据库进行交互。它提供了一种标准的接口,让Java程序可以使用SQL语句来操作数据库,无论是Oracle、MySQL、SQL Server还是其他数据库系统。JDBC使得Java开发者能够在不同的数据库之间保持代码的可移植性,极大地增强了软件的灵活性。
1.1.1 JDBC 连接数据库的基本步骤
在Java中,使用JDBC进行数据库操作通常包括以下几个基本步骤:
1. 加载数据库驱动:通过`Class.forName()`方法加载对应的数据库驱动类,使得Java虚拟机能够识别并使用该驱动。
2. 获取数据库连接:使用`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码,建立与数据库的连接。例如:
```java
Connection con = DriverManager.getConnection("jdbc:odbc:wombat", "login", "password");
```
这里的"jdbc:odbc:wombat"表示ODBC数据源名,"login"和"password"是数据库的登录凭证。
3. 创建Statement对象:通过连接对象`Connection`创建`Statement`实例,用于执行SQL语句。
```java
Statement stmt = con.createStatement();
```
4. 执行SQL查询:调用`Statement`对象的`executeQuery()`方法执行查询SQL,返回结果集`ResultSet`。
```java
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
```
5. 处理结果集:遍历`ResultSet`,获取查询结果。
```java
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
```
6. 关闭资源:在操作完成后,关闭`ResultSet`、`Statement`和`Connection`,释放数据库资源。
```java
rs.close();
stmt.close();
con.close();
```
1.1.2 JDBC API 和核心接口
JDBC API包含多个核心接口,用于不同的数据库操作:
- `Connection`接口:代表与数据库的会话,提供了创建`Statement`或`PreparedStatement`对象的方法。
- `Statement`接口:用于执行SQL语句,包括查询、插入、更新和删除操作。
- `PreparedStatement`接口:预编译的SQL语句,比`Statement`更高效且安全,可防止SQL注入。
- `CallableStatement`接口:用于执行存储过程。
- `ResultSet`接口:存储查询结果,提供了遍历查询结果的方法。
- `DriverManager`类:管理数据库驱动,负责连接数据库。
除此之外,还有其他辅助类和接口,如`DatabaseMetaData`用于获取数据库元数据,`Savepoint`用于设置保存点,`ResultSetMetaData`用于获取结果集的列信息等。
JDBC使得Java应用程序能够通过标准接口与任何支持JDBC的数据库进行交互,无论是客户端应用、服务器端应用还是Applet,都可以方便地访问数据库。JDBC不仅适用于Intranet环境,还可以跨平台运行在Windows、Macintosh和UNIX等操作系统上,为分布式企业级应用提供了强大的数据库连接能力。随着JDBC版本的不断升级,其性能和功能也在持续增强,如批处理、连接池、事务管理等,进一步提升了Java开发数据库应用的效率和质量。