JDBC 读取数据库中的表信息和字段信息

一、获取Connection

    public static Connection getConnect() {
        Connection con = null;
        try {
            Class.forName("org.postgresql.Driver");
            con = DriverManager.getConnection(url, name, password);

        } catch (Exception e) {
            e.printStackTrace();
        }
        return con;
    }

二、获取表信息和列信息

try {
            Connection con = getConnect();
            DatabaseMetaData metaData = con.getMetaData();
            ResultSet resultSet = metaData.getTables(null, "%", "%", new String[] { "TABLE" });
            while (resultSet.next()) {
                String tableName = resultSet.getString("TABLE_NAME");
                if ("tb_sm_module".equals(tableName)) {
                    ResultSet resultCol = metaData.getColumns(null, "%", tableName, "%");
                    while (resultCol.next()) {
                        String columnName = resultCol.getString("COLUMN_NAME");
                        String columnType = resultCol.getString("TYPE_NAME");
                        int datasize = resultCol.getInt("COLUMN_SIZE");
                        int digits = resultCol.getInt("DECIMAL_DIGITS");
                        int nullable = resultCol.getInt("NULLABLE");
                        System.out.println(columnName + " " + columnType + " " + datasize + " " + digits + " " + nullable);
                    }
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

三、获取主键信息

ResultSet pkRSet = metaData.getPrimaryKeys(null, null, tableName); 
while (pkRSet.next()) {
    pkRSet.getString("COLUMN_NAME");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值