jdbc 查表结构
在 JDBC 中,可以使用`DatabaseMetaData`类来获取数据库表的结构信息。下面是一个简单的示例代码,展示如何使用 JDBC 查询表结构:
```java
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class TableSchemaRetrieval {
public static void main(String[] args) {
// 替换为你的实际数据库连接信息
String url = "jdbc:mysql://localhost:3306/your_database";
String user = "your_username";
String password = "your_password";
try (Connection connection = Connection(url, user, password)) {
// 获取数据库元数据对象
DatabaseMetaData metadata = MetaData();
// 执行查询获取表结构信息
ResultSet tables = Tables(null, null, "%", null);
while (()) {
String tableName = String("TABLE_NAME");
String tableSchema = String("TABLE_SCHEM");
System.out.println("Table: " + tableName + " (" + tableSchema + ")");
ResultSet columns = Columns(null, tableSchema, tableName, null);
while (()) {
String columnName = String("COLUMN_NAME");
int dataType = Int("DATA_TYPE");
String columnType = String("TYPE_NAME");
int columnSize = Int("COLUMN_SIZE");
String nullable = String("IS_NULLABLE");
System.out.println(" Column: " + columnName + " (" + columnType + ") [" + n
ullable + "] (" + columnSize + ")" + " (" + getJavaDataType(dataType) + ")");
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
private static String getJavaDataType(int dataType) {
switch (dataType) {
case 1:
return "BOOLEAN";
case 12:
return "STRING";
case 16:
return "BYTE";
case 17:
return "SHORT";
case 19:
return "INT";
case 20:
return "LONG";
case 21:
return "FLOAT";
case 22:
return "DOUBLE";
default:
return "UNKNOWN";
}
}
}resultset 遍历
```
在上述代码中,我们使用`getTables()`方法获取数据库中的所有表名,并通过遍历`tables`结果集打印出每个表的信息。然后,对于每个表,我们使用`getColumns()`方法获取表的所
有列信息,并通过遍历`columns`结果集打印出每个列的名称、数据类型、大小和是否可为空等信息。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论