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在哪里存储这些信息?
答案 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的教程。