Java连接PostgreSql数据库及基本使用方式攻略
简介
PostgreSQL(常简称 Postgres)是一个高度自定的开源关系数据库管理系统。PostgreSQL 支持多种编程语言,包含 Java。通过 JDBC 驱动可以把 Java 和 PostgreSQL 集成,完成数据交流。
步骤
1. 导入JDBC驱动
在项目中添加 PostgreSQL JDBC 驱动,可以从 Maven 仓库或者官方网站下载,在本示例中使用 Maven 下载:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.22</version>
</dependency>
2. 连接数据库
可以使用以下代码连接到 PostgreSQL 数据库:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class PostgreSqlJdbcExample {
public static void main(String[] args) {
String jdbcUrl = "jdbc:postgresql://localhost:5432/mydb"; // 数据库连接字符串
String username = "myuser"; // 数据库用户名
String password = "mypassword"; // 数据库密码
try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
System.out.println("连接成功!");
} catch (SQLException e) {
System.out.println("连接失败!错误信息:" + e.getMessage());
}
}
}
其中,jdbcUrl
表示数据库连接字符串,格式为 "jdbc:postgresql://hostname:port/database"。
3. 执行SQL命令
使用 PreparedStatement 可以执行 SQL 命令:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class PostgreSqlJdbcExample {
public static void main(String[] args) {
String jdbcUrl = "jdbc:postgresql://localhost:5432/mydb";
String username = "myuser";
String password = "mypassword";
try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
String sql = "SELECT * FROM users WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getInt("id") + "," + rs.getString("name"));
}
} catch (SQLException e) {
System.out.println("执行SQL命令失败,错误信息:" + e.getMessage());
}
}
}
这里执行了一条查询语句,参数 1
表示查询 id 为1的用户信息。
示例
示例1:插入一条记录
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class PostgreSqlJdbcExample {
public static void main(String[] args) {
String jdbcUrl = "jdbc:postgresql://localhost:5432/mydb";
String username = "myuser";
String password = "mypassword";
try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
String sql = "INSERT INTO users (id, name, age) VALUES (?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1);
pstmt.setString(2, "张三");
pstmt.setInt(3, 20);
int rows = pstmt.executeUpdate();
System.out.println("插入成功,受影响行数:" + rows);
} catch (SQLException e) {
System.out.println("插入失败,错误信息:" + e.getMessage());
}
}
}
这里插入了一条 id 为 1,姓名为 张三,年龄为 20 的用户记录。
示例2:更新一条记录
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class PostgreSqlJdbcExample {
public static void main(String[] args) {
String jdbcUrl = "jdbc:postgresql://localhost:5432/mydb";
String username = "myuser";
String password = "mypassword";
try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
String sql = "UPDATE users SET age = ? WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 22);
pstmt.setInt(2, 1);
int rows = pstmt.executeUpdate();
System.out.println("更新成功,受影响行数:" + rows);
} catch (SQLException e) {
System.out.println("更新失败,错误信息:" + e.getMessage());
}
}
}
这里更新了 id 为 1 的用户的年龄为 22。
结论
通过 JDBC 驱动,Java 可以很方便地连接到 PostgreSQL 数据库,并完成数据交流。可以使用 PreparedStatement 完成对数据库表的增删改查。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java连接PostgreSql数据库及基本使用方式 - Python技术站