PostgreSQL 的 pgJDBC
是用于 Java 程序连接和操作 PostgreSQL 数据库的 JDBC 驱动程序。
PostgreSQL:pgJDBC v42.7 下载和安装

点击【Application Stack Builder】


安装目录:

运行 cmd
cd D:\PostgreSQL\pgJDBC
copy postgresql-42.7.2.jar D:\groovy-4.0.6\lib\
下面为你详细介绍其使用方法:
1. 添加依赖
如果你使用 Maven 进行项目管理,在pom.xml
文件中添加以下依赖:
XML
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.7.2</version>
</dependency>
2. 示例代码
下面是一个使用pgJDBC
连接 PostgreSQL 数据库,执行查询操作的示例代码:
java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class PostgreSQLExample {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
// 加载 JDBC 驱动
Class.forName("org.postgresql.Driver");
// 建立数据库连接
String url = "jdbc:postgresql://localhost:5432/your_database";
String user = "your_user";
String password = "your_password";
connection = DriverManager.getConnection(url, user, password);
// 创建 Statement 对象
statement = connection.createStatement();
// 执行 SQL 查询
String sql = "SELECT * FROM your_table";
resultSet = statement.executeQuery(sql);
// 处理查询结果
while (resultSet.next()) {
// 假设表中有一个名为 "column_name" 的列
String columnValue = resultSet.getString("column_name");
System.out.println(columnValue);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭资源
try {
if (resultSet != null) resultSet.close();
if (statement != null) statement.close();
if (connection != null) connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
代码解释
- 加载驱动 :借助
Class.forName("org.postgresql.Driver")
来加载pgJDBC
驱动。 - 建立连接 :使用
DriverManager.getConnection()
方法与 PostgreSQL 数据库建立连接,要提供数据库的 URL、用户名和密码。 - 创建 Statement 对象 :利用
connection.createStatement()
创建Statement
对象,以此来执行 SQL 语句。 - 执行查询 :通过
statement.executeQuery()
执行 SQL 查询,并且得到ResultSet
对象。 - 处理结果 :使用
resultSet.next()
遍历结果集,同时获取每一行的数据。 - 关闭资源 :在
finally
块里关闭ResultSet
、Statement
和Connection
,避免资源泄漏。
请把your_database
、your_user
、your_password
、your_table
和column_name
替换成实际的数据库名、用户名、密码、表名和列名。