返回给定表的列类型整数的查询

时间:2016-05-17 09:20:22

标签: java oracle

JDBC支持以下内容:

ResultSet columns = connection.getMetaData().getColumns(null, schema, tableName, null);  

这样我可以检索给定表中所有列的信息,包括DATA_TYPE信息。该信息在java中是int类型。

我使用以下查询来检索列名和数据类型,但这会返回数据类型的字符串表示形式,我需要int:

select column_name, data_type from all_tab_cols where table_name = 'tablename' and owner = 'owner';  

java代码行如何转换为Oracle DB中的查询?
 如何检索列的int表示?
我会使用加入,但我不知道从哪里获取信息。 Oracle在哪里存储这些信息?

1 个答案:

答案 0 :(得分:0)

为了在不使用任何ORM工具(如hibernate)的情况下针对数据库运行SQL,您可以查看PreparedStatement类。

如果要查看有关PreparedStatement返回的列的“元数据”,可以查看getMetaData()方法,找到文档here,然后向ResultSetMetaData询问有关列类型:getColumnType(<0 based index of the column you want to find the type>) documentation can be found here

关于Java如何转换为Oracle中的查询的问题,它太宽泛,无法在答案中描述。我建议寻找关于JDBC或官方tutorial的教程。