Queries.xml
<select id="getDBDetails" parameterType="String" resultType="java.util.LinkedHashMap">
desc ${value}
</select>
MainRunner.java
List<k> list=commonQuery.getDataFromDB("getDBDetails","TABLENAME");
上面的代码可用于其他查询。
但不适用于“ desc TABLENAME”。
答案 0 :(得分:1)
DESCRIBE
是无效的SQL语句。这是一个SQL * Plus命令,因此您无法通过JDBC执行它。
如果要通过JDBC获取表元数据,请使用元数据API,如下所示:
Connection connection = ...;
DatabaseMetaData databaseMetaData = connection.getMetaData();
ResultSet columns = databaseMetaData.getColumns(null,null, tableName, null);
while(columns.next())
{
String columnName = columns.getString("COLUMN_NAME");
String datatype = columns.getString("DATA_TYPE");
String columnsize = columns.getString("COLUMN_SIZE");
String decimaldigits = columns.getString("DECIMAL_DIGITS");
String isNullable = columns.getString("IS_NULLABLE");
String is_autoIncrment = columns.getString("IS_AUTOINCREMENT");
}
有关详细信息,请参见docmentation。