java代码写一段读取postgres数据库中所有表名
时间: 2023-05-14 21:06:45 浏览: 538
以下是 Java 代码,可以读取 Postgres 数据库中的所有表名:
```java
import java.sql.*;
public class PostgresTableNames {
public static void main(String[] args) {
String url = "jdbc:postgresql://localhost:5432/mydatabase";
String user = "myuser";
String password = "mypassword";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
DatabaseMetaData meta = conn.getMetaData();
ResultSet rs = meta.getTables(null, null, "%", new String[] {"TABLE"});
while (rs.next()) {
System.out.println(rs.getString("TABLE_NAME"));
}
} catch (SQLException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
```
其中,url、user 和 password 分别是连接 Postgres 数据库所需的 URL、用户名和密码。在这个例子中,我们假设数据库名为 mydatabase,用户名为 myuser,密码为 mypassword。如果你的数据库名、用户名或密码不同,请相应地修改代码。
在代码中,我们使用了 Java 的 JDBC API 来连接 Postgres 数据库,并使用 DatabaseMetaData 类的 getTables 方法来获取所有表名。这个方法的第一个参数是数据库的 catalog 名称,第二个参数是 schema 名称,第三个参数是表名的模式,第四个参数是表类型的数组。在这个例子中,我们使用了 "%" 作为表名的模式,表示匹配所有表名。第四个参数是一个字符串数组,表示我们只想获取表类型为 "TABLE" 的表名。
如果你想获取其它类型的表名,可以相应地修改代码。例如,如果你想获取视图的名称,可以将第四个参数改为 new String[] {"VIEW"}。
阅读全文
相关推荐














