Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从Oracle表中获取所有列的名称_Java_Oracle_Metadata - Fatal编程技术网

Java 如何从Oracle表中获取所有列的名称

Java 如何从Oracle表中获取所有列的名称,java,oracle,metadata,Java,Oracle,Metadata,如何使用Java从Oracle表中获取所有列的名称? 有没有办法从DatabaseMetaData对象获取它们 DatabaseMetaData myDatabaseMetaData = myConnection.getMetaData(); ... 我知道我可以使用select语句获取它们: Select COLUMN_NAME from user_tab_columns where table_name='MYTABLE' 如果可以从DatabaseMetaData对象获取它们,那么这两

如何使用Java从Oracle表中获取所有列的名称? 有没有办法从DatabaseMetaData对象获取它们

DatabaseMetaData myDatabaseMetaData = myConnection.getMetaData();
...
我知道我可以使用select语句获取它们:

Select COLUMN_NAME from user_tab_columns where table_name='MYTABLE'
如果可以从DatabaseMetaData对象获取它们,那么这两种方法之间的区别是什么

编辑:发布工作代码感谢您的回答

public ArrayList<String> getAllFields(String tableName) {
    ArrayList<String> allFields = new ArrayList<String>();
    try {
        DatabaseMetaData myDatabaseMetaData = myConnection.getMetaData();
        ResultSet columnsResultSet = myDatabaseMetaData.getColumns(null, null, tableName, null);
        while (columnsResultSet.next()) { allFields.add(columnsResultSet.getString("COLUMN_NAME")); }
    } catch (SQLException ex) {
        Exceptions.printStackTrace(ex);
    }
    return allFields;
}
你在找什么

SQL和JDBCAPI的区别在于,API调用应该可以在所有DBMS上工作,而SQL只能在Oracle上工作。

您正在寻找的


SQL和JDBCAPI的区别在于,API调用应该可以在所有DBMS上工作,而SQL只能在Oracle上工作。

DatabaseMetaDatagetColumnsString,String,String,String


直接SQL调用只能在Oracle中工作,而DatabaseMetaData方法应独立于数据库。

DatabaseMetaDatagetColumnsString,String,String,String

直接SQL调用只能在Oracle中工作,而DatabaseMetaData方法应该独立于数据库。

是一个接口,因此它完全取决于JDBC驱动程序实现。让舒尔使用最好、也是最后一次发布的产品

是一个接口,因此它完全取决于JDBC驱动程序的实现。让舒尔使用最好、也是最后一次发布的产品