java - 获取 JDBC 列类型

标签 java jdbc resultset

我需要询问表中我的列 jdbc 类型,今天我循环抛出我的列然后询问它的类型,请参阅下面的代码:

public int getColumnDataTypeFromDB(String columnName) {
    int datatype = 0;

    ResultSet columns = null;
    try {
        String schema =
            getMetaDataCatalogName() != null
                ? getMetaDataCatalogName()
                : getMetaDataSchemaName();

        if (TableManagerFactory.isCatalogBasedDatabase()) {
            columns =
                getMetaData().getColumns(
                    schema,
                    null,
                    tableName,
                    columnName);
        } else {
            columns =
                getMetaData().getColumns(
                    null,
                    schema,
                    tableName,
                    columnName);
        }
        //          columns =
        //              getMetaData().getColumns(getMetaDataCatalogName(), getMetaDataSchemaName(), tableName, columnName);
        if (columns.next()) {
            datatype = columns.getInt("DATA_TYPE");
        }
    } catch (SQLException ex) {
        Log.error(
            this,
            "Error while getting columns information: " + ex.getMessage(),
            ex);
        //return false;
    } catch (DDLCreationException ex) {
        Log.error(this, ex.getMessage());
    } finally {
        try {
            if (columns != null) {
                columns.close();
            }
        } catch (SQLException ex) {
        Log.error(this, ex.getLocalizedMessage());
        }
    }

    return datatype;
}

我可以同时获取此类表中的所有列元数据吗? 如果是,我该怎么做??

最佳答案

使用jdbc ResultSetMetaData类获取表列的详细信息。

 ResultSet res=stmt.executeQuery("select * from tableName where 1<0");
 ResultSetMetaData rsmd=res.getMetaData();
 rsmd.getColumnType(1);
 rsmd.getColumnLabel(1);
 rsmd.getColumnDisplaySize(1);

关于java - 获取 JDBC 列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18041697/

相关文章:

java - IOUtils复制和写入问题

java - 如何在 GridBagLayout 上放置背景图片

sql - 选择没有连接的表时的结果集逻辑?

java - idlj-maven-plugin 和包翻译

java - 省略号禁用初始文本

java - SQL 类型说明符

java - 设置来自 Java 的 PostgreSQL JDBC 连接的连接选项

java - 在独立应用程序中处理数据库连接

java - 结果集已关闭

java - 结果集到二维数组