Java 如何从Oracle表中获取所有列的名称
如何使用Java从Oracle表中获取所有列的名称? 有没有办法从DatabaseMetaData对象获取它们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对象获取它们,那么这两
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驱动程序的实现。让舒尔使用最好、也是最后一次发布的产品