使用jdbc访问数据库
网站编辑2023-05-19 13:43:21902
Java 数据库连接(Java Database Connectivity,简称 JDBC)是 Java 语言中用于规范客户端程序如何访问数据库的 API。JDBC 提供了一种标准的方法,使得 Java 应用程序可以通过 JDBC 驱动程序与各种关系型数据库进行通信。本文将介绍如何使用 JDBC 访问数据库。

要使用 JDBC 访问数据库,首先需要建立一个数据库连接。JDBC 提供了一个标准接口 `java.sql.Connection`,用于表示与数据库的连接。可以通过以下代码建立一个数据库连接:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JdbcDemo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
try {
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("连接成功!");
// TODO: 执行数据库操作
conn.close();
} catch (SQLException e) {
System.out.println("连接失败!");
e.printStackTrace();
}
}
}
```
上述代码中,`DriverManager.getConnection()` 方法用于建立与数据库的连接。其中,`url` 参数指定了数据库的 URL,`user` 和 `password` 参数指定了连接数据库的用户名和密码。如果连接成功,将会输出“连接成功!”;否则,将会输出“连接失败!”并打印异常信息。
建立了数据库连接之后,就可以执行 SQL 语句了。JDBC 提供了一个标准接口 `java.sql.Statement`,用于执行 SQL 语句。可以通过以下代码执行一个 SQL 查询语句:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcDemo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
try {
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("连接成功!");
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM user";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id=" + id + ", name=" + name + ", age=" + age);
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
System.out.println("连接失败!");
e.printStackTrace();
}
}
}
```
上述代码中,`conn.createStatement()` 方法用于创建一个 `Statement` 对象,`stmt.executeQuery()` 方法用于执行 SQL 查询语句,并返回一个 `ResultSet` 对象。`ResultSet` 对象包含了查询结果集中的所有行,可以通过 `rs.next()` 方法逐行遍历结果集。在遍历结果集的过程中,可以通过 `rs.getInt()`、`rs.getString()` 等方法获取每一行的数据。最后,需要关闭 `ResultSet`、`Statement` 和 `Connection` 对象。
JDBC 还提供了事务处理的功能。事务是指一组操作,这些操作要么全部执行成功,要么全部执行失败。JDBC 提供了一个标准接口 `java.sql.Connection`,用于管理事务。可以通过以下代码执行一个事务:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcDemo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
try {
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("连接成功!");
conn.setAutoCommit(false); // 关闭自动提交
Statement stmt = conn.createStatement();
String sql1 = "UPDATE user SET age=age+1 WHERE id=1";
String sql2 = "UPDATE user SET age=age-1 WHERE id=2";
stmt.executeUpdate(sql1);
stmt.executeUpdate(sql2);
conn.commit(); // 提交事务
stmt.close();
conn.close();
} catch (SQLException e) {
System.out.println("连接失败!");
e.printStackTrace();
}
}
}
```
上述代码中,`conn.setAutoCommit(false)` 方法用于关闭自动提交,`conn.commit()` 方法用于提交事务。如果在事务执行过程中出现异常,可以通过 `conn.rollback()` 方法回滚事务。
本文介绍了如何使用 JDBC 访问数据库。首先,需要建立一个数据库连接;然后,可以执行 SQL 语句;最后,可以执行事务处理。JDBC 是 Java 语言中访问数据库的标准 API,可以与各种关系型数据库进行通信。







